> 类库下载 > PHP类库 > 본문

PHP 파일 디렉터리 작업

高洛峰
풀어 주다: 2016-10-20 13:52:52
원래의
1164명이 탐색했습니다.

PHP의 파일 작업 및 디렉터리 작업

file_get_countents

file_get_contents($filename); // 파일의 내용이나 네트워크 리소스의 내용을 가져옵니다.
읽기 파일 네트워크 리소스보다 빠르고 열기/닫기 등의 작업을 캡슐화하는 데 도움이 되는 함수입니다.

단점: 이 기능은 모든 내용을 한 번에 읽어서 메모리에 저장하므로, 수백 메가바이트의 대용량 파일을 다루는 경우 주의해서 사용하세요. 읽을 파일이 존재해야 합니다. 그렇지 않으면 경고가 발생합니다.

<?php
    $fileFile = &#39;./a.txt&#39;;
    
    $fileCoutent = file_get_contents($fileFile);

    echo $fileCoutent;
    
    echo file_get_contents(&#39;http://www.linxingzhang.com&#39;);    

?>
로그인 후 복사

file_put_counents

file_put_contents($filename, $data); 이 함수는 파일에 내용을 쓰는 데 사용됩니다. , 단축키 기능, 열기 및 쓰기 세부 사항을 캡슐화하는 데 도움

<?php

file_put_contents(&#39;./b.txt&#39;, &#39;嘻嘻哈哈&#39;);

?>
로그인 후 복사

데이터 유형 판단

isset(); 변수 선언 여부
empty(); 변수가 비어 있음
define() ; 상수가 정의되었는지 여부 Define();
array_key_exists(mixed key, array serach) 배열에 해당 키 이름이나 인덱스가 있는지 확인

is_numeric(mixed var); 배열에 키 이름이나 인덱스가 있는지 확인
is_bool(); 변수가 부울인지 확인
is_float(); is_double(), is_real()
is_int()로 사용; 변수가 정수인지 감지합니다. is_integer()
is_string()과 동일하게 사용됩니다.
is_object( ); 변수가 객체인지 감지
is_array(); 변수가 배열인지 감지

fopen&fread&fwrite&fclose

fopen ($filename, $mode)

매개변수 1: 경로
매개변수 2: 모드: 읽기 전용 모드: 읽기-쓰기 모드: 추가 모드
파일을 열고 반환 핸들 리소스

반환 값: 리소스. (채널의 기능은 채널을 따라 파일을 운영하는 것입니다. 이 파일을 수정할 수 있는 자격을 얻습니다.)

fread($handle, $length)

파라미터 1: 리소스 ID
파라미터 2 : 읽은 길이
반환 값: 읽은 문자열
파일 읽기

fwrite($handle, $string);

매개변수 1: 리소스 ID
매개변수 2: 콘텐츠
반환 값: 성공 문자열 번호, 실패는 false를 반환
파일 쓰기

fclose($handle) 닫기 리소스

<?php
    $file = &#39;./a.txt&#39;;
    
    // 返回获取资格的标识
    $fh = fopen($file, &#39;r&#39;);
    
    // 沿着上面返回的$fn资源通道来读文件
    echo fread($fh, 10);
    
    $rs = fwrite($fh, &#39;xixihaha&#39;);
    echo $rs; // 0 // 只读,不允许写入
    
    fclose($fh);
?>
로그인 후 복사
<?php

    $file = &#39;./a.txt&#39;;
    
    // r+ 读写模式, 并把指针指向文件头
    // 覆盖相等字节的字符串
    $fh = fopen($file, &#39;r+&#39;);
    
    $rs = fwrite($fh, &#39;hahahaha&#39;);
    echo $rs; 
    
    echo &#39;<hr />&#39;;
    
    // w 写入模式(fread读取不了), 并把文件大小截为0(文件被清空了),指针停于开头处
    $file = &#39;./modew.txt&#39;;
    $fh = fopen($file, &#39;w&#39;);
    
    fclose($fh);
    echo &#39;ok&#39;;


    // a 追加模式 能写,并把指针停止在文件的最后.
    $fh = fopen(&#39;./modea.txt&#39;, &#39;a&#39;);
    
    echo fwrite($fh, &#39;嘻嘻哈哈&#39;);
    
    fclose($fh);

    ?>
로그인 후 복사
파일

일괄 처리 목록

첫 번째 방법:

<?php
    
    $file = &#39;./custom.txt&#39;;
    
    $cont = file_get_contents($file);
    
    print_r( explode("\n", $cont) ); 
    
    /**
     * 各个操作系统下,换行符并不一致
     * win: \r\n
     * *nix: \n
     * mac: \r
     */
?>
로그인 후 복사
두 번째 방법:

<?php

    // 第二种
    // 打开,一点点的读取,每次读取一行.
    // fgets(); 每次读取一行
    
    $file = &#39;./custom.txt&#39;;
    // $mode 可以加`b`,表示以2进制来处理,不受编码的干扰. 
    $fh = fopen($file, &#39;rb&#39;);
    
    // feof(), end of file 的意思
    // 判断指针是否已经到结尾
    
    while ( !feof($fh) ) {
        echo fgets($fh) , &#39;<br />&#39;;
    }
?>
로그인 후 복사
세 번째 방법:

file(); 한 줄씩 배열로 나누어 배열을 반환합니다.

file_get_contents();와 동일: 한 번에 읽으며 대용량 파일에는 주의해서 사용하세요.

<?php

    // file(); 
    $file = &#39;./custom.txt&#39;;
    $arr = file($file);
    print_r($arr);

?>
로그인 후 복사
file_exists

file_exists 파일이나 디렉터리가 존재하는지 확인하십시오. file_exists($filename);

<?php
    // 判断文件是否存在
    // 获取文件的创建时间/修改时间
    
    $file = &#39;./custom.txt&#39;;
    
    if ( file_exists($file) ) {
        echo $file, &#39;存在&#39;, &#39;<br />&#39;;
        echo &#39;上次修改时间:&#39;, date(&#39;Y-m-d H:i:s&#39;, filemtime($file)), &#39;<br />&#39;;
        echo &#39;修改时间:&#39;, date(&#39;Y-m-d H:i:s&#39;, filectime($file)), &#39;<br />&#39;;
    }

?>
로그인 후 복사


관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿