什么是PHP文件处理?

PHP文件处理指的是使用PHP内置函数对服务器上的文件进行读写、创建和删除、以及修改文件目录等操作。

为什么需要PHP脚本进行文件处理?

无论是处理用户上传的图片/文档、生成配置文件、记录运行日志,还是实现数据导出(如CSV/Excel),都需要通过文件操作才能实现。

我们可以使用PHP内置的文件处理函数对文件进行不同的操作,下面我们可以通过一张表格来总览常用的PHP文件操作内置函数:

函数功能
file_get_contents()将整个文件读入字符串,支持远程URL
file_put_contents()将字符串写入文件,可追加内容
fopen()打开文件或URL,返回文件指针资源
fclose()关闭由fopen()打开的文件指针
fread()从打开的文件中读取指定长度的数据
fwrite() / fputs()向打开的文件写入字符串内容
fgets()从打开的文件中读取一行内容
file()将整个文件读入数组,每行作为数组元素
copy()复制文件到新位置
rename()重命名或移动文件/目录
unlink()删除文件
file_exists()检查文件或目录是否存在
is_file()判断给定路径是否为常规文件
is_dir()判断给定路径是否为目录
filesize()获取文件大小(字节)
filemtime()获取文件最后修改时间(时间戳)
fileatime()获取文件最后访问时间
filectime()获取文件inode修改时间
pathinfo()返回文件路径的信息(目录、文件名、扩展名等)
basename()返回路径中的文件名部分
dirname()返回路径中的目录部分
realpath()返回规范化的绝对路径名
mkdir()创建目录,可递归创建多级目录
rmdir()删除空目录
scandir()列出指定路径中的文件和目录
glob()使用通配符查找匹配的文件路径
move_uploaded_file()将上传的文件移动到新位置(安全)
tempnam()创建具有唯一文件名的临时文件
tmpfile()创建临时文件并返回文件指针
flock()文件锁定(共享锁或独占锁)
ftruncate()将文件截断到指定长度
fseek()在文件指针中定位
ftell()返回文件指针读/写的位置
rewind()倒回文件指针的位置
feof()测试文件指针是否到达文件末尾
readfile()读取文件并写入输出缓冲,支持下载
parse_ini_file()解析INI配置文件
csv相关函数fgetcsv()读取CSV行,fputcsv()写入CSV行

下面,我们具体实操一下PHP文件操作(打开文件->进行操作->关闭文件):

我们有一个test.php文件,需要同级目录下生成一个example.php文件,打开该文件同时对其进行脚本写入,让example.php文件打印”Hello Dotcpp编程!“,然后关闭文件

<?php
// 1. 定义要创建的文件名
$filename = 'example.php';
// 2. 创建文件并写入PHP代码
if ($file = fopen($filename, 'w')) {

        //fopen的第二个参数可填:
        // 'r' - 只读打开
        // 'r+' - 读写打开
        // 'w' - 只写打开
        // 'w+' - 读写打开
        // 'a' - 追加写入
        // 'a+' - 读写追加
        // 'x' - 只写创建
        // 'x+' - 读写创建
        // 'c' - 只写打开
        // 'c+' - 读写打开
    
    // 写入PHP起始标签和打印语句
    fwrite($file, "<?php\n");
    fwrite($file, "echo \"Hello Dotcpp编程!\\n\";\n\n");
     fwrite($file, "?>\n");
   
    // 3. 关闭文件
    fclose($file);
    
    echo "<h2>文件创建成功!</h2>";
    echo "<p>文件 <strong>{$filename}</strong> 已创建在相同目录下。</p>";
    echo '<p><a href="example.php" target="_blank">点击运行 example.php</a></p>';
}
?>

具体演示:

1. 打开test.php,我们可以看到:

test.php

2. 点击连接后跳转example.php,我们可以看到”Hello Dotcpp编程!“:

example.php

总结:通过PHP强大的文件处理功能,我们可以实现日志、文件存储等实际需求。

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)