欢迎访问宙启技术站
智能推送

PHP文件系统函数详解,轻松搞定文件操作

发布时间:2023-06-10 10:43:02

在PHP中,文件系统操作是很常见的操作,如创建文件、读取文件、写入文件、复制、移动、删除等等。本文将详细介绍PHP文件系统函数。

1. 文件路径处理函数

在文件操作之前,我们需要生成路径,并对路径进行操作。与此相关的文件系统函数有以下几个。

dirname(__FILE__):返回文件路径中的目录部分
basename(__FILE__):返回文件名
realpath(dirname(__FILE__)):返回当前执行脚本所在的文件夹的绝对路径

示例代码:

<?php
echo dirname(__FILE__) . "<br/>"; // 输出文件路径的目录部分
echo basename(__FILE__) . "<br/>"; // 输出文件名
echo realpath(dirname(__FILE__)) . "<br/>"; // 输出当前执行脚本所在的文件夹的绝对路径
?>

输出结果如下:

/var/www/html/
test.php
/var/www/html/

2. 文件打开、写入、读取和关闭函数

打开文件、写入和读取文件的函数分别是 fopen(), fwrite(), fread(), fclose()。其中 fopen() 的第一个参数是指定文件名和路径,第二个参数是指定打开的模式。当使用完文件后,一定要记得关闭文件资源,否则可能导致数据丢失或者其他问题。

文件打开方式:

'r' 只读方式打开,将文件指针指向文件头
'r+' 读写方式打开,将文件指针指向文件头
'w' 只写方式打开,将文件指针指向文件头,并将文件大小截为零
'w+' 读写方式打开,将文件指针指向文件头,并将文件大小截为零
'a' 只写方式打开,将文件指针指向文件末尾,如果文件不存在,则尝试创建文件
'a+' 读写方式打开,将文件指针指向文件末尾,如果文件不存在,则尝试创建文件
'x' 只写方式打开,如果文件不存在,则尝试创建文件并打开,否则失败
'x+' 读写方式打开,如果文件不存在,则尝试创建文件并打开,否则失败

示例代码:

<?php
// 文件路径
$path = dirname(__FILE__)."/test.txt";

// 打开文件
$fh = fopen($path, 'w');

// 写入两行文本
fwrite($fh, "Hello PHP
");
fwrite($fh, "This is a test
");

// 关闭文件
fclose($fh);

// 再次打开文件
$fh = fopen($path, 'r');

// 读取两行文本
echo fread($fh, filesize($path));

// 关闭文件
fclose($fh); 
?>

输出结果如下:

Hello PHP
This is a test

3. 文件复制函数

如果需要文件复制,我们可以使用 copy() 函数。它的第一个参数是原始文件路径,第二个参数是目标文件路径。执行成功后,函数返回 true,否则返回 false

示例代码:

<?php
$src_path = dirname(__FILE__)."/test.txt";
$dst_path = dirname(__FILE__)."/test_copy.txt";
if (copy($src_path, $dst_path)) {
    echo "copy() success!<br/>";
} else {
    echo "copy() failed!<br/>";
}
?>

4. 文件移动和重命名函数

如果需要文件移动或重命名,我们可以使用 rename() 函数。它的第一个参数是原始文件路径,第二个参数是目标文件路径。执行成功后,函数返回 true,否则返回 false

示例代码:

<?php
$src_path = dirname(__FILE__)."/test.txt";
$dst_path = dirname(__FILE__)."/test_move.txt";
if (rename($src_path, $dst_path)) {
    echo "rename() success!<br/>";
} else {
    echo "rename() failed!<br/>";
}
?>

5. 文件删除函数

如果需要删除文件,可以使用 unlink() 函数。它的参数是要删除的文件路径。执行成功后,函数返回 true,否则返回 false

示例代码:

<?php
$path = dirname(__FILE__)."/test.txt";
if (unlink($path)) {
    echo "unlink() success!<br/>";
} else {
    echo "unlink() failed!<br/>";
}
?>

综上,以上是PHP文件系统函数的详细介绍,我们可以根据具体需求,选择合适的函数来处理文件操作。