PHP 文件系统操作:基础与实践示例
文件系统操作是 PHP 网页开发中的关键任务之一。无论是上传图片、记录日志、读取配置文件还是管理临时数据,掌握文件和目录操作函数是每位 PHP 开发者的必备技能。本文将详细解析基本操作:打开、读取、写入、关闭文件,以及管理文件夹和访问权限。
PHP 中文件操作的基本函数
PHP 提供了丰富的内置函数。我们来了解其中最重要的部分。
打开和关闭文件:fopen() 和 fclose()
要开始处理文件,首先需要使用 fopen() 打开它。该函数接受两个必需参数:文件路径和打开模式。模式决定了您可以对文件执行的操作:读取、写入、追加数据等。
基本模式:
r— 只读。文件指针位于开头。r+— 读取和写入。文件指针位于开头。w— 只写。如果文件存在,则清空内容。如果不存在,则创建。w+— 读取和写入。清空文件或创建新文件。a— 只写,追加到文件末尾。如果文件不存在,则创建。a+— 读取和写入,追加到末尾。
<?php$file = fopen("example.txt", "w"); // 打开文件用于写入if ($file) { echo "文件打开成功。"; fclose($file); // 操作完成后务必关闭文件} else { echo "无法打开文件。";}?>从文件读取:fgets()、fread() 和 file_get_contents()
读取整个文件最简单的方法是使用 file_get_contents() 函数。它以字符串形式返回文件内容。
<?php$content = file_get_contents("example.txt");echo $content;?>如果需要逐行读取(例如处理大文件),可以在循环中使用 fgets():
<?php$file = fopen("example.txt", "r");while (!feof($file)) { $line = fgets($file); echo $line . "<br>";}fclose($file);?>fread() 函数允许读取指定数量的字节:
<?php$file = fopen("example.txt", "r");$content = fread($file, 100); // 读取前 100 个字节echo $content;fclose($file);?>写入文件:fwrite() 和 file_put_contents()
向文件写入数据时,使用 file_put_contents() 非常方便。它通过一个命令即可打开文件、写入字符串并关闭文件。
<?php$data = "你好,世界!";file_put_contents("example.txt", $data);?>如果需要追加数据到文件末尾,请使用 FILE_APPEND 标志:
<?php$data = "新行";file_put_contents("example.txt", $data, FILE_APPEND);?>对于更灵活的写入操作(例如二进制模式),可以使用 fwrite():
<?php$file = fopen("example.txt", "w");fwrite($file, "要写入的字符串");fclose($file);?>PHP 中的目录操作
除了文件,PHP 还允许管理文件夹:创建、删除、读取其内容。
创建和删除文件夹:mkdir() 和 rmdir()
mkdir() 函数用于创建新目录。第二个参数可以指定访问权限(默认为 0777)。
<?phpif (mkdir("new_folder", 0777)) { echo "文件夹已创建。";} else { echo "创建文件夹失败。";}?>要删除空文件夹,请使用 rmdir():