Home  >  Article  >  类库下载  >  PHP file directory operations

PHP file directory operations

高洛峰
高洛峰Original
2016-10-20 13:52:521132browse

File operations and directory operations in PHP

file_get_countents

file_get_contents($filename); // Get the content of a file or the content of a network resource.
A relatively fast function for reading files and network resources, helping to encapsulate the opening /Close and other operations.

Disadvantages: This function reads out all the contents at once and puts them in memory. Therefore, if you are dealing with large files of hundreds of megabytes, use this function with caution. The file to be read must exist, otherwise a warning will be issued

<?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); This function is used to write content to a file, a shortcut function that helps encapsulate the details of opening and writing

<?php

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

?>

Determine the data type

isset(); Whether the variable has been declared
empty(); Whether the variable is empty
defined(); Whether the constant has been defined define();
array_key_exists(mixed key, array serach); Check the given key Whether the name or index exists in the array

is_numeric(mixed var); Check whether the given key name or index exists in the array
is_bool(); Check whether the variable is Boolean
is_float(); Check whether the variable is float Point type has the same usage as is_double(), is_real()
is_int(); detects whether the variable is an integer. is_integer() has the same usage
is_string(); detects whether the variable is a string
is_object(); detects whether the variable Is an object
is_array(); Check whether the variable is an array
is_null(); Check whether the variable is NULL

fopen&fread&fwrite&fclose

fopen($filename, $mode)
Parameter 1: path
Parameter 2: Mode such as: read-only Mode, such as: read-write mode, such as: append mode
Open a file and return a handle resource

Return value: resource. (The role of the channel is to operate the file along the channel. Obtain the qualification to modify this file)

fread($handle, $length)
Parameter 1: Resource ID
Parameter 2: The read length
Return value: all Read string
Read file

fwrite($handle, $string);
Parameter 1: Resource identifier
Parameter 2: Content
Return value: Successful string number, failure returns false
Write file

fclose ($handle); Close the resource

<?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);

    ?>

file

Batch processing list

The first method:

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

The second method:

<?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;;
    }
?>

The third method:

file(); Directly read the file content , and split it into an array by line, and return the array.

The same as file_get_contents();: read in one time, use large files with caution.

<?php

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

?>

file_exists

file_exists Check whether the file or directory 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;;
    }

?>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:A little PHP trickNext article:A little PHP trick

Related articles

See more