当前位置:首页 > PHP

php实现文件读写操作

2026-01-29 05:44:56PHP

文件读取操作

使用file_get_contents函数可以快速读取整个文件内容到一个字符串中。适合读取小文件,简单高效。

$content = file_get_contents('example.txt');
echo $content;

fopen配合fread适合处理大文件或需要逐行读取的场景。通过指定读取模式(如'r')和缓冲区大小控制读取过程。

$handle = fopen('example.txt', 'r');
$content = fread($handle, filesize('example.txt'));
fclose($handle);

file函数将文件按行读取到数组中,每行作为数组的一个元素。适合需要按行处理的场景。

$lines = file('example.txt');
foreach ($lines as $line) {
    echo $line;
}

文件写入操作

file_put_contents函数提供最简单的写入方式,可覆盖或追加内容。通过FILE_APPEND参数实现追加写入。

// 覆盖写入
file_put_contents('output.txt', 'Hello World');

// 追加写入
file_put_contents('output.txt', "\nNew line", FILE_APPEND);

fopen配合fwrite支持更灵活的写入控制。需要手动关闭文件句柄防止资源泄漏。

$handle = fopen('output.txt', 'w');
fwrite($handle, 'First line');
fwrite($handle, "\nSecond line");
fclose($handle);

文件指针操作

ftell获取当前指针位置,fseek移动指针位置,rewind重置指针到文件开头。适用于需要随机访问的场景。

$handle = fopen('example.txt', 'r');
fseek($handle, 10); // 移动到第10字节
echo ftell($handle); // 输出当前位置
rewind($handle);     // 重置到开头
fclose($handle);

错误处理

文件操作时应始终检查操作结果并处理可能出现的错误。is_readableis_writable可预先检查权限。

if (!file_exists('example.txt')) {
    die('文件不存在');
}

if (!is_writable('output.txt')) {
    die('文件不可写');
}

二进制文件处理

使用'b'模式标记处理二进制文件,如图片或可执行文件。防止不同系统下的换行符转换问题。

// 二进制读取
$handle = fopen('image.jpg', 'rb');
$data = fread($handle, filesize('image.jpg'));
fclose($handle);

// 二进制写入
$handle = fopen('copy.jpg', 'wb');
fwrite($handle, $data);
fclose($handle);

临时文件处理

tmpfile创建临时文件,脚本结束后自动删除。sys_get_temp_dir获取系统临时目录路径。

php实现文件读写操作

$temp = tmpfile();
fwrite($temp, "Temporary data");
fseek($temp, 0);
echo fread($temp, 1024);
// 脚本结束自动删除

标签: 操作文件
分享给朋友:

相关文章

php 实现文件下载

php 实现文件下载

实现文件下载的基本方法 使用 PHP 实现文件下载的核心是通过设置 HTTP 头部信息,强制浏览器将文件作为附件下载而非直接显示。以下是一个基础实现示例: $file_path = '/path/t…

如何编译java文件

如何编译java文件

安装JDK 确保系统已安装Java Development Kit(JDK)。可通过命令行输入 javac -version 和 java -version 验证。若未安装,需从Oracle或Open…

vue操作日志实现

vue操作日志实现

Vue 操作日志实现方案 方案一:基于拦截器的前端日志记录 通过封装 Axios 请求拦截器和响应拦截器,自动记录用户操作。这种方式适合记录 API 调用相关的操作。 // 在 axios 拦截器…

vue实现文件功能

vue实现文件功能

Vue 实现文件上传功能 使用 Vue 实现文件上传功能可以通过原生 HTML 的 <input type="file"> 结合 Vue 的事件处理和 HTTP 请求库(如 Axios)来…

vue 实现文件地址

vue 实现文件地址

Vue 实现文件下载功能 在Vue中实现文件下载功能通常可以通过前端直接触发下载或通过后端API返回文件流。以下是几种常见方法: 前端直接下载(适用于公开URL) 对于已知的公开文件URL,可以直接…

vue前端实现文件下载

vue前端实现文件下载

使用 window.open 直接下载 通过 window.open 直接打开文件链接触发下载,适用于简单的文件下载场景。 将文件 URL 作为参数传入,浏览器会自动处理下载行为: window.o…