2010-04-12 6 views
1

바이트 파일이 있습니다. 이제 1 바이트 씩 읽어야합니다. 내가 어떻게 만들 수 있니?배열 하나의 요소로 읽을

가능한 배열을 읽고 읽은 요소를 제거 하시겠습니까?

+0

이 두 가지와 전혀 관련이없는 질문 –

+1

것 같다 방법 http://stackoverflow.com/questions/2620175/reading 해당 다르다 -a-file-into-a-byte-array-php? – Gordon

답변

1

배열 앞에서 읽고 있다고 가정하면 array_shift이 필요합니다. http://us2.php.net/manual/en/function.array-shift.php에서 자세한 내용을 볼 수 있습니다.

참고 : array_shift은 일정 시간이 아니고 배열의 크기가 선형입니다. 이 모델을 실제로 따라야하는 경우 먼저 배열을 반대로하고 대신 array_pop을 사용하는 것이 좋습니다.

1

열기 fopen()으로 읽고 파일에서 한 문자/바이트를 읽고, 당신은 fgetc 기능을 사용할 수있는 1

1

의 길이 fread()를 사용하기위한 파일 - 그리고 루프를 호출.

주어진 예제를 인용 :

$fp = fopen('somefile.txt', 'r'); 
if (!$fp) { 
    echo 'Could not open file somefile.txt'; 
} 
while (false !== ($char = fgetc($fp))) { 
    echo "$char\n"; 
} 


PHP는 생각으로이 일 것 (항상 사실이 아니다 ... 그러나 그것은 또 다른 문제 ^^입니다)

하나 개의 문자 == 한 바이트
0

array_shift()은 배열의 첫 번째 요소를 제거합니다.

파일에서 읽는 것은 일반적으로 문자열로 처리됩니다.이 경우 작업중인 문자의 색인을 저장하고 현재 문자를 처리 할 때 미리 읽어야합니다.

0

는 PHP로 파일의 한 바이트를 읽어하려면 :

$fh = fopen('mytest.txt', "r"); 
$contents = fread($fh, 1); 
관련 문제