IT俱乐部 PHP 基于PHP实现文件读写与上传功能的详细步骤

基于PHP实现文件读写与上传功能的详细步骤

判断与信息获取

判断文件

函数 说明 返回值
file_exists($path) 判断文件或目录是否存在 bool
is_file($path) 判断是否是文件 bool
is_dir($path) 判断是否是目录 bool
is_readable($path) 判断是否可读 bool
is_writable($path) 判断是否可写 bool

获取文件信息

函数 说明
filesize($path) 获取文件大小(字节)
filemtime($path) 获取文件最后修改时间(时间戳)
pathinfo($path) 获取文件路径信息(目录、文件名、后缀)
<?php $file = './photo.jpg';

// 获取文件大小
$size = filesize($file);
echo "文件大小:" . round($size / 1024, 2) . " KB
"; // 获取最后修改时间 $mtime = filemtime($file); echo "最后修改时间:" . date('Y-m-d H:i:s', $mtime) . "
"; // 获取路径信息 $info = pathinfo($file); echo "文件名:" . $info['filename'] . "
"; echo "后缀名:" . $info['extension'] . "
"; echo "目录:" . $info['dirname'] . "
"; ?>

文件读写

简单方式:file_get_contents()/file_put_contents()

// 读取文件内容到字符串
$content = file_get_contents(string $filename);

// 将字符串写入文件(返回写入的字节数)
file_put_contents(string $filename, mixed $data, int $flags = 0);

读取 JSON 配置文件


写入日志文件(追加模式)


底层方式:fopen()/fwrite()/fclose()

当你需要逐行读取写入大文件更精细的控制时,使用这组函数。

// 打开文件,返回资源句柄
$handle = fopen(string $filename, string $mode);

// 写入文件
fwrite(resource $handle, string $data);

// 读取一行
$line = fgets(resource $handle);

// 关闭文件
fclose(resource $handle);

常用 mode 参数

模式 说明
r 只读,指针在开头
w 只写,清空文件内容,指针在开头
a 追加,指针在末尾
r+ 读写,指针在开头

逐行读取大文件(不占内存)

<?php // 打开一个大文件(比如 1GB 的日志)
$handle = fopen('./large_file.log', 'r');

if ($handle) {
    // 逐行读取,直到文件结束
    while (($line = fgets($handle)) !== false) {
        // 处理每一行(比如过滤错误日志)
        if (strpos($line, 'ERROR') !== false) {
            echo "发现错误:" . $line . "
"; } } fclose($handle); } ?>

目录操作:创建、删除与遍历

函数 说明
mkdir($path) 创建目录
rmdir($path) 删除空目录
unlink($path) 删除文件

递归创建多级目录


遍历目录

scandir()(简单遍历,适合单层目录)

<?php $dir = './uploads';

// 获取目录下所有文件和目录(包含 . 和 ..)
$files = scandir($dir);

// 遍历并过滤掉 . 和 ..
foreach ($files as $file) {
    if ($file != '.' && $file != '..') {
        // 判断是文件还是目录
        $type = is_file($dir . '/' . $file) ? '文件' : '目录';
        echo $type . ":" . $file . "
"; } } ?>

RecursiveDirectoryIterator(递归遍历,适合多层目录)

getPathname() . " - 大小:" . $file->getSize() . " 字节
"; } ?>

文件上传 :图片上传

文件上传是 Web 开发的经典需求,PHP 通过 $_FILES 超全局变量和 move_uploaded_file() 函数处理。


选择图片:

 2 * 1024 * 1024) {
    exit('文件大小不能超过 2MB');
}
// 从临时目录移动到目标目录
if (move_uploaded_file($_FILES['avatar']['tmp_name'], $destPath)) {
    echo "上传成功!文件路径:" . $destPath;
} else {
    exit('文件移动失败');
}
?>

到此这篇关于基于PHP实现文件读写与上传功能的详细步骤的文章就介绍到这了,更多相关PHP文件读写与上传内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/code/php/17795.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部