>  기사  >  백엔드 개발  >  PHP 파일 처리의 고급 응용 프로그램 - 파일 포인터

PHP 파일 처리의 고급 응용 프로그램 - 파일 포인터

黄舟
黄舟원래의
2017-04-18 11:28:262806검색

PHP 파일 처리의 고급 응용 프로그램 - 파일 포인터

PHP는 파일 포인터의 위치 지정 및 쿼리를 실현하여 파일 포인터의 빠른 쿼리를 실현할 수 있습니다. 필수 정보, 파일 포인터 함수에는 rewind(), fseek(), feof() 및 ftell() 함수가 포함됩니다.

이전 기사 "PHP 파일 처리의 고급 응용 프로그램 - 원격 파일 액세스 및 파일 잠금"에서 파일의 원격 액세스와 파일 잠금 방법을 소개했지만 읽지 않았습니다. . 친구 여러분, 가서 살펴보세요. 오늘은 주로 파일 포인터의 기능에 대해 이야기하지 않겠습니다.

1: rewind() 함수

이 함수는 파일 핸들의 포인터를 파일 스트림의 시작 부분으로 설정합니다. 이 함수의 내용은 다음과 같습니다.

bool rewind ( resource $handle )

참고:

파일이 추가("a") 모드로 열린 경우 , 그러면 파일 포인터의 위치에 관계없이 모든 데이터가 항상 파일의 기존 내용 끝에 추가됩니다!

2: fseek() 함수

fseek() 함수는 파일 포인터의 위치 지정을 구현합니다. 이 함수는 다음과 같습니다:

int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )
  • handle 매개변수는 열려는 파일입니다.

  • offset은 포인터 위치이거나 whence 매개변수를 기준으로 한 오프셋이며 음수 값일 수 있습니다.

  • whence의 값에는 다음 3가지 유형이 포함됩니다.

1, 위치는 오프셋 바이트와 같습니다.

2.SEEK_CUR, 위치는 현재 위치에 오프셋 바이트를 더한 값과 같습니다.

3.SEEK_END, 위치는 파일 끝에 오프셋 바이트를 더한 것과 같습니다.

whence 매개변수가 생략되면 시스템의 기본값은 SEEK_SET입니다.

3: feof() 함수

이 함수는 파일 포인터가 파일 끝에 있는지 확인합니다. 다음:

bool feof ( resource $handle )

포인터가 파일 끝에 도달하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

넷째: ftell() 함수

ftell() 함수는 현재 포인터의 위치를 ​​반환합니다. 이 함수의 구문 형식은 다음과 같습니다. 다음은

int ftell ( resource $handle )

다음은 위의 네 가지 포인터 함수를 사용하여 파일의 내용을 출력하는 것입니다.

<?php
header("Content-Type:text/html; charset=utf-8");
$filename = "tm.txt";        //指定文件路径及文件名
if(is_file($filename)){      //判断文件是否存在
    echo "文件总字节数:".filesize($filename)."<br>"; //输出总字节数
    $fopen = fopen($filename,"rb");                 // 打开文件
    echo "初始指针位置是:".ftell($fopen)."<br>";     //输出指针位置
    fseek($fopen,33);                               //制动指针
    echo "使用fseek()函数后指针位置:".ftell($fopen)."<br>";  //输出制动后的指针位置
    echo "输出当前指针后面的内容:".fgets($fopen)."<br>";     //输出从当前指针到行尾的内容
    if (feof($fopen)){                                     //判断指针是否指向文件末尾
        echo "当前指针指向文件末尾:".ftell($fopen)."<br>";   //如果指向了文件尾,则输出指针位置
        rewind($fopen);                                    //使用rewind()函数
        echo "使用 rewind()函数后指针的位置:".ftell($fopen)."<br>"; //查看使用rewind()函数后指针的位置
        echo "输出前33个字节的内容:".fgets($fopen,33);             //输出前33个字节的内容
        fclose($fopen);                                          //关闭文件
    }else{
        echo "文件不存在";
    }
}
?>

출력 결과는 다음과 같습니다.

PHP 파일 처리의 고급 응용 프로그램 - 파일 포인터

PHP 파일 처리의 고급 응용 프로그램에 대한 소개는 여기까지입니다. 이제 PHP 파일 업로드에 대해 소개하겠습니다. 자세한 내용은 "php 파일 업로드 - php.inn 파일 구성 및 사전 정의된 변수 $_FILES"!

위 내용은 PHP 파일 처리의 고급 응용 프로그램 - 파일 포인터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.