Home  >  Article  >  Backend Development  >  Detailed introduction to php file processing functions (with examples)

Detailed introduction to php file processing functions (with examples)

不言
不言forward
2019-01-10 11:31:332395browse

This article brings you a detailed introduction to PHP file processing functions (with examples). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

PHP can easily operate directories and files, including creating, reading, modifying, deleting, etc.

mkdir

bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
Try to create a new directory specified by pathname.

mkdir can create a directory specified by pathname. The default mode is 0777, which is ignored under windows and returns false on failure.

<?php
mkdir(&#39;./test&#39;);// 在当前目录创建 test 目录

rmdir

bool rmdir ( string $dirname [, resource $context ] )
Try to delete the directory specified by dirname. The directory must be empty and must have appropriate permissions. Failure will generate an E_WARNING level error.

As shown above, rmdir can delete the directory. It should be noted that the directory must be empty and must have permissions . If it fails, false will be returned. Example

<?php
rmdir(&#39;./test&#39;);// 删除当前目录下的 test 目录。

file_put_contents

int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
has the same function as calling fopen(), fwrite() and fclose() in sequence.

file_put_contents Write data into the filename file. If there is no such file, create it. If it fails, it returns false. If it succeeds, it returns the number of bytes written. Example

<?php
file_put_contents(&#39;./test.txt&#39;, date(&#39;Y-m-d H:i:s&#39;));// 在当前目录创建 test.txt,并且写入数据
file_put_contents(&#39;./test.txt&#39;, date(&#39;Y-m-d H:i:s&#39;), FILE_APPEND);// 在 test.txt 文件中,追加数据

file_get_contents

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )
Same as file(), except file_get_contents() reads the file into a string. The content with a length of maxlen will be read starting from the position specified by the parameter offset.

file_get_cntents reads the content in filename and returns a string. If it fails, it returns false. Example

<?php
echo file_get_contents(&#39;./test.txt&#39;);// 输出当前目录下 test.txt 的内容

unlink

bool unlink ( string $filename [, resource $context ] )
Delete filename. Similar to Unix C's unlink() function. An E_WARNING level error is generated when an error occurs.

unlink delete filename file, also need to pay attention to permissions. Example

<?php
unlink(&#39;./test.txt&#39;);// 删除当前目录的 test.txt

rename

bool rename ( string $oldname , string $newname [, resource $context ] )
Try to rename oldname to newname.

rename can not only rename files, but also move files. If it fails, it returns false. Example

<?php
rename(&#39;./test.txt&#39;, &#39;./test1.txt&#39;);// 当前目录下的 test.txt 重命名为 test1.txt
rename(&#39;./test1.txt&#39;, &#39;./test/test.txt&#39;);// 将当前目录下的 test1.txt, 移动到 test下

copy

bool copy ( string $source , string $dest [, resource $context ] )
Copy files from source to dest.

As shown above, false is returned on failure. Examples

<?php
copy(&#39;./test/test.txt&#39;, &#39;./test1.txt&#39;);// test 目录下的test.txt, 拷贝到当前目录

Examples and Comments

Here are a few examples that will be used at work or in interviews.

<?php

/**
 * 遍历目录下所有文件
 * @param $path 
 */
function getAllFiles($path)
{
    if (!is_dir($path)) {
        exit(&#39;错误&#39;);
    }
    echo &#39;<ul>';
    foreach (scandir($path) as $line) {
        if ($line == '.' || $line == '..') {
            continue;
        }

        if (is_dir($path . '/' . $line)) {
            getAllFiles($path . '/' . $line);
        }
        echo '<li>' . $path . '/' . $line . '</li>';
    }
    echo '</ul>';
}

/**
 * 删除目录下所有文件
 * @param $path
 */
function delAllFile($path)
{
    if (!is_dir($path)) {
        exit('目录不存在');
    }

    $dir = opendir($path);
    while ($filename = readdir($dir)) {
        if ($filename != "." && $filename != "..") {
            $file = $path . "/" . $filename;
            if (is_dir($file)) {
                delAllFile($file);
            } else {
                unlink($file);
            }
        }
    }
    closedir($dir);
    rmdir($path);
}

Note

  • The recursive parameter in mkdir de can create directories nested;

  • the flags parameter in file_put_contents , can be combined, refer to the link for details;

  • file_put_contents may also return a non-Boolean value equivalent to false, use === to judge;

  • file_get_contents You can also open a URL to get web page content;

  • file_get_contents If you want to open a URL with special characters (for example, spaces), you need to use urlencode( ) URL encoding;

  • copy If the target file already exists, it will be overwritten;

The above is the detailed content of Detailed introduction to php file processing functions (with examples). For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:segmentfault.com. If there is any infringement, please contact admin@php.cn delete