PHP删除、复制、重命名文件
在对文件进行操作时,不仅可以对文件中的数据进行操作,还可以对文件本身进行作。例如复制文件、删除文件、截取文件及为文件重命名等操作。在 PHP 中为我们提供了这些文件处理方式的标准函数,使用也非常简便。
文件的基本操作函数如下所示:
下面我们来分别介绍一下这几个函数的使用方法。
【示例】使用 сoру() 函数将文件复制到指定位置。
【示例】使用 unlink() 函数删除指定的文件。
【示例】使用 rename() 函数来重命名一个文件。
文件的基本操作函数如下所示:
- сoру():复制文件
- unlink():删除文件
- rename():重命名文件或目录
下面我们来分别介绍一下这几个函数的使用方法。
1、сoру() 函数
сoру() 函数可以将一个文件复制(拷贝)到指定目录中,执行成功时返回 TRUE,失败时返回 FALSE。函数的语法格式如下:copy(string $source, string $dest[, resource $context])
参数说明如下:- $source:源文件路径;
- $dest:目标路径,如果文件存在,则会将其覆盖,如果 $dest 是一个 URL,若封装协议不支持覆盖已有的文件,则会复制失败;
- $context:可选参数,表示使用 stream_context_create() 创建的有效上下文资源。
【示例】使用 сoру() 函数将文件复制到指定位置。
<?php $file = 'test.txt'; $newfile = 'newtest.txt'; if(copy($file, $newfile)){ echo '文件复制成功!'; }else{ echo '文件复制失败!'; } ?>运行上面的代码会将 test.txt 文件在当前目录下复制一份,并重命名为 newtest.txt,然后输出下面的内容。
文件复制成功!
2、unlink() 函数
unlink() 函数可以删除指定的文件,函数执行成功时返回 TRUE,失败时返回 FALSE,其语法格式如下:unlink(string $filename[, resource $context])
其中,$filename 为要删除的文件路径;$context 为可选参数,规定文件句柄的环境。$ontext 是可修改流的行为的一套选项。【示例】使用 unlink() 函数删除指定的文件。
<?php $file = 'newtest.txt'; if(file_exists($file)){ if(unlink($file)){ echo $file.' 删除成功!'; }else{ echo $file.' 删除失败!'; } }else{ echo $file.' 不存在!'; } ?>运行上面的代码会删除根目录下的 newtest.txt 文件,并返回下面的内容:
newtest.txt 删除成功!
3、rename() 函数
rename() 函数可以重命名一个文件或者目录,成功时返回 TRUE,失败时则返回 FALSE。该函数的语法格式如下:rename(string $oldname, string $newname[, resource $context])
其中,$oldname 为要修改的文件名;$newname 为新的文件名;$context 为可选参数,用来规定文件句柄的环境。$context 是一套可以修改流的行为的选项。【示例】使用 rename() 函数来重命名一个文件。
<?php $file = 'test.txt'; if(file_exists($file)){ if(rename($file,'newtest.txt')){ echo $file.' 重命名成功!'; }else{ echo $file.' 重命名失败!'; } }else{ echo $file.' 不存在!'; } ?>运行上面的代码会将根目录的 test.txt 文件重命名为 newtest.txt,并输出一下内容:
test.txt 重命名成功!
使用 rename() 函数有以下几点需要注意:- 对于非空文件夹,只能在同一盘符下移动;
- 对于空文件夹,rename() 可以在不同盘符间移动。但是目标文件夹的父目录必须存在;
- 对于文件,rename() 也能在不同盘符之间移动。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算