PHP文件系统操作:实用指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

引言:为什么需要掌握PHP文件系统操作

任何Web开发人员迟早都会遇到需要在服务器上保存数据、上传图片、创建临时文件或读取配置文件的情况。PHP提供了一套强大的文件系统操作函数,能够快速、安全地完成所有这些任务。

本文将解析最常用的操作:文件的读写、目录的创建与删除、元素存在性检查以及路径操作。所有示例均使用PHP编写,可直接用于您的项目。



文件操作的核心函数

我们从基础操作开始——文件的打开、读取和写入。PHP支持多种文件交互方式,我们将介绍其中最常用的几种。



打开和关闭文件:fopen 与 fclose

fopen() 函数用于打开文件并返回一个文件句柄供后续操作使用。打开模式决定了您可以对文件执行的操作:读取(r)、写入(w)、追加(a)等。

<?php// 以只读模式打开文件$file = fopen("data.txt", "r");if ($file) {    // 操作文件    fclose($file); // 务必关闭文件} else {    echo "无法打开文件";}?>


读取文件:fread、fgets、file_get_contents

根据需求,可以使用不同的函数来读取文件内容:

  • fread() — 读取指定字节数。
  • fgets() — 读取一行。
  • file_get_contents() — 最简单的读取整个文件的方式。
<?php// 读取整个文件$content = file_get_contents("example.txt");echo $content;

// 逐行读取$file = fopen("example.txt", "r");while (($line = fgets($file)) !== false) { echo $line . "<br>";}fclose($file);?>


写入文件:fwrite 与 file_put_contents

数据写入可以使用 fwrite()(需要已打开的文件句柄)或 file_put_contents()(一行代码即可完成写入)。

<?php// 快速写入file_put_contents("log.txt", "新记录", FILE_APPEND);

// 通过 fwrite 写入$file = fopen("config.ini", "w");fwrite($file, "db_host=localhost");fwrite($file, "db_user=root");fclose($file);?>


目录操作

文件夹的创建、删除和导航是PHP文件系统操作的另一个重要部分。



创建和删除文件夹:mkdir 与 rmdir

mkdir() 函数用于创建新目录。第三个参数 recursive 允许一条命令创建嵌套文件夹。

<?php// 创建单个文件夹mkdir("uploads", 0777);

// 创建嵌套文件夹(2025 → 03 → images)mkdir("uploads/2025/03/images", 0777, true);

// 删除空文件夹rmdir("uploads/temp");?>


检查文件和文件夹是否存在

在执行操作之前,最好先检查文件或目录是否存在。可使用 file_exists()、is_file() 和 is_dir() 函数。

<?php$path = "data/config.php";if (file_exists($path)) {    echo "文件或文件夹存在";}if (is_file($path)) {    echo "这是一个文件";}if (is_dir("uploads")) {    echo "这是一个目录";}?>


获取目录中的文件列表

scandir() 函数返回文件夹中所有元素的数组。而 glob() 允许按模式过滤(例如,仅图片文件)。

<?php// 所有文件和文件夹$items = scandir("uploads");print_r($items);

// 仅 PHP 文件$phpFiles = glob("*.php");for

博客

书籍推荐