博客
关于我
PHP 文件操作
阅读量:793 次
发布时间:2023-02-28

本文共 2569 字,大约阅读时间需要 8 分钟。

PHP 文件操作函数详解

PHP 提供了丰富的文件操作函数,能够帮助开发者高效处理文件相关事务。本文将详细介绍 PHP 中的核心文件函数及其应用示例。

1. 获取文件信息

PHP 提供多种函数用于获取文件的路径信息:

  • basename():返回路径中的文件名部分。
  • dirname():返回路径中的目录部分。
  • pathinfo():返回文件路径的详细信息,包括目录、文件名、扩展名和完整路径。

示例:

$str = 'E:\phpStudy\PHPTutorial\WWW\index.php';
echo basename($str); // 输出: index.php
$str = 'E:\phpStudy\PHPTutorial\WWW\index.php';
echo dirname($str); // 输出: E:\phpStudy\PHPTutorial\WWW
print_r(pathinfo($str)); // 输出:
// Array
// (
// [dirname] => E:\phpStudy\PHPTutorial\WWW
// [basename] => index.php
// [extension] => php
// [filename] => index
// )

2. 文件操作函数

PHP 提供了多种文件操作函数,适用于不同的场景:

  • fopen():打开文件进行读写操作。
  • fclose():关闭已打开的文件。
  • fread():读取文件内容。
  • fwrite():写入文件内容。
  • filesize():获取文件大小。
  • is_dir():判断是否为目录。
  • is_file():判断是否为文件。
  • file_exists():检查文件或目录是否存在。
  • mkdir():创建目录。
  • move_uploaded_file():移动上传的文件。
  • readfile():读取并输出文件内容。

3. 文件下载实现

文件下载是常见的Web应用需求,以下是实现文件下载的三种方法:

方法一:直接读取文件

// 示例文件路径
$file = '1.txt';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($file) . '"]');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}

方法二:逐行读取

// 示例文件路径
$file = '1.txt';
if (file_exists($file)) {
$fp = fopen($file, "r");
$file_size = filesize($file);
$file_name = basename($file);
// 发送下载所需的HTTP头文件
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: " . $file_size);
header("Content-Disposition: attachment; filename=" . $file_name);
echo fread($fp, $file_size);
fclose($fp);
exit;
}

方法三:结合多种函数

function DownloadFile($file) {
// 示例文件路径(带路径信息)
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file) . '');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
}

4. 其他文件操作

除了上述函数,PHP 还提供了其他文件操作功能,例如:

  • mkdir():创建新目录。
  • move_uploaded_file():将上传的文件移动到指定路径。
  • readfile():读取并输出文件内容。

这些函数在日常开发中广泛应用,能够帮助开发者高效管理文件。

通过上述方法,可以轻松实现文件的下载、操作和管理。PHP 提供的丰富函数使得文件处理变得简单易学。

转载地址:http://qwtfk.baihongyu.com/

你可能感兴趣的文章