PHP 文件处理
                           
天天向上
发布: 2025-03-19 22:27:59

原创
479 人浏览过

PHP 提供了丰富的文件处理函数,允许开发者创建、读取、写入、删除文件,以及管理文件和目录。通过这些函数,您可以轻松地处理文件存储、日志记录、用户上传文件等任务。


1️⃣ 打开文件:fopen()

fopen() 函数用于打开文件或 URL。它返回一个文件指针,您可以使用这个指针进行文件操作。

语法:

$file = fopen("file.txt", "模式");
  • 文件路径:指定要打开的文件的路径。
  • 模式:文件打开的模式。常见的模式如下:
模式描述
"r"只读方式打开文件,文件指针指向文件的开头。
"w"只写方式打开文件,文件指针指向文件的开头,文件内容会被清空。
"a"以追加方式打开文件,文件指针指向文件的末尾。
"r+"读写方式打开文件,文件指针指向文件的开头。
"w+"读写方式打开文件,文件指针指向文件的开头,文件内容会被清空。
"a+"读写方式打开文件,文件指针指向文件的末尾。

示例:

$file = fopen("example.txt", "r");  // 打开文件以供读取

2️⃣ 读取文件:fread()fgets()

2.1 fread()

fread() 用于从打开的文件中读取数据,直到文件末尾或指定的字节数。

$content = fread($file, filesize("example.txt"));

2.2 fgets()

fgets() 每次从文件中读取一行内容,直到遇到换行符或文件末尾。

while ($line = fgets($file)) {
    echo $line;
}

3️⃣ 写入文件:fwrite()

fwrite() 用于向文件写入数据。如果文件没有打开进行写入,它会返回 false

$file = fopen("example.txt", "w");
fwrite($file, "Hello, PHP!");
fclose($file);  // 关闭文件

4️⃣ 文件末尾:feof()

feof() 用于检查文件指针是否已到达文件的末尾。

while (!feof($file)) {
    $line = fgets($file);
    echo $line;
}

5️⃣ 关闭文件:fclose()

fclose() 用于关闭打开的文件。

fclose($file);

6️⃣ 文件操作:file_exists(), unlink(), rename()

  • file_exists():检查文件或目录是否存在。
if (file_exists("example.txt")) {
    echo "文件存在";
}
  • unlink():删除文件。
if (unlink("example.txt")) {
    echo "文件已删除";
} else {
    echo "文件删除失败";
}
  • rename():重命名文件或目录。
if (rename("oldname.txt", "newname.txt")) {
    echo "文件重命名成功";
} else {
    echo "文件重命名失败";
}

7️⃣ 文件上传:$_FILES

PHP 提供了 $_FILES 超全局数组,用于处理用户上传的文件。文件上传的流程包括设置表单、接收文件、保存文件等步骤。

示例:处理文件上传

HTML 表单:

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select file to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload File" name="submit">
</form>

PHP 处理上传:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);

    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file " . basename($_FILES["fileToUpload"]["name"]) . " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}

8️⃣ 文件和目录权限:chmod()chown()

  • chmod():更改文件或目录的权限。
chmod("example.txt", 0644);
  • chown():更改文件的所有者。
chown("example.txt", "user_name");

9️⃣ 目录操作:opendir(), readdir(), closedir()

  • opendir():打开目录。
$dir = opendir("directory_path");
  • readdir():读取目录中的内容。
while (($file = readdir($dir)) !== false) {
    echo "文件名:$file<br>";
}
  • closedir():关闭目录。
closedir($dir);

🔟 小结

PHP 提供了强大的文件处理功能,包括文件打开、读取、写入、删除、权限管理等操作。通过合理使用这些文件处理函数,您可以方便地进行文件上传、日志记录、数据存储等任务。掌握这些函数有助于提升您在实际开发中的效率。


相关链接

更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *