echo fseek($fp,10);왜 출력이 0이 되나요?
益伦
益伦 2017-11-24 22:02:55
0
5
1701

echo fseek($fp,10);

益伦
益伦

모든 응답(5)
卿立平

php7 매뉴얼에서 확인하실 수 있습니다. fseek 함수는 포인터를 지정된 바이트만큼 뒤로 이동시키는 함수입니다. 그러나 이 포인터 이동에는 몇 가지 요구 사항이 있으며 세 가지 결과가 있습니다. 1. 지정된 바이트를 설정 위치(파일 시작)에서 뒤로 추가합니다. 2. 지정된 바이트를 파일의 설정된 위치(시작)에 추가합니다. 3. 설정된 위치(파일 포인터의 미리 결정된 위치)는 추가할 바이트 수와 같습니다.
이 함수의 반환 값은 증가에 성공하면 0이고, 그렇지 않으면 -1이 반환됩니다.
이때는 fseek($fp,10)을 사용합니다. 이때 포인터가 파일의 처음으로 돌아온 다음 10바이트 뒤로 이동한다는 점을 이해해야 합니다.
테스트해 보겠습니다. "mylove.txt"라는 파일에 다음과 같은 내용이 있습니다. 인민생활 향상을 보장하고, 인민의 이익감, 행복감, 안전의식을 지속적으로 제고하며, 전 인민의 공동번영을 지속적으로 촉진한다." 시진핑 국가주석은 2017년 10월 25일 중국 상무위원회에서 중국과 외국 기자들을 만났다. 19차 중국공산당 중앙위원회 정치국의 연설은 매우 감동적이었습니다. ”

실행 프로그램:

<?php

$fp = fopen('D:phpStudyPHPTutorialWWWdemomylove.txt' , 'r+');

// 10자 읽기

echo fread($fp, 10 ); //fread를 통해 파일을 읽을 때 파일 포인터가 지정된 길이의 문자열 읽기를 마치면 포인터는 지정된 길이의 위치에 유지됩니다.

//포인터가 처음으로 다시 설정됩니다

rewind($fp );

echo '<br/>';

echo fread($fp,10); // 이때 읽은 후 포인터가 10번째 바이트에서 멈춥니다. 출력 내용은 "We must Remember"입니다.

.echo '<br/>';

echo fseek($fp,20); //파일 포인터가 파일 헤더에서 20자 뒤로 이동하면 작업이 성공했음을 의미하므로 반환 값이 반환됩니다. 포인터 위치는 20번째 문자 위치에 있어야 합니다

echo '<br/>';

echo fread($fp,10);// 이때 20번째 바이트 문자에 있어야 합니다. 그런 다음 10바이트 길이를 읽으면 "Longing for Life"가 출력됩니다.

echo '<br/>';

?>

프로그램의 출력 결과는 다음과 같습니다.

us
0
삶에 대한 그리움

을 염두에 두어야 합니다. 이 경우와 결합하여 fseek() 함수를 더 잘 이해할 수 있도록 매뉴얼을 확인하는 것이 가장 좋습니다.

卿立平

php7 매뉴얼에서 확인하실 수 있습니다. fseek 함수는 포인터를 지정된 바이트만큼 뒤로 이동시키는 함수입니다. 그러나 이 포인터 이동에는 몇 가지 요구 사항이 있으며 세 가지 결과가 있습니다. 1. 설정된 위치의 파일 끝에 지정된 바이트를 추가합니다. 2. 설정된 위치의 파일 끝에 지정된 바이트를 추가합니다. . 설정 위치는 추가할 바이트 수와 같습니다.
이 함수의 반환 값은 증가에 성공하면 0이고, 그렇지 않으면 -1이 반환됩니다.

小崔

fseek() 함수는 읽기에 성공하면 0을 반환하고, 그렇지 않으면 -1을 반환합니다. 이 경우 fseek()는 데이터를 읽습니다

小崔

같은 질문

myfey

10번째 파일 위치는 0

이어야 합니다.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿