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文件系统函数的详细介绍,我们可以根据具体需求,选择合适的函数来处理文件操作。
