PHP中rename函数移动文件或文件夹

作者:简简单单 2014-06-28


偶然做文件移动的时候总结的一个知识点:刚开始的时候,以为跟上传文件一样可以用move_uploaded_file这个函数去移动一个文件,试了之后发现不行,网上搜了一把,发现可以用rename这个函数来实现文件或文件夹的移动,很奇怪,手册上写的是重名文件或文件夹的,没想到可以用来移动文件

关于函数返回值:

bool rename ( string $oldname , string $newname [, resource $context ] )
尝试把 oldname 重命名为 newname,若操作成功则返回True,失败返回False。


1. 对于文件,rename可以在不同盘符之间移动。
2. 对于空文件夹,rename也可以在不同盘符之间移动。但是目标文件夹的父目录必须存在。
3. 对于非空文件夹,只能在同一盘符下移动。

用法如下:

rename("/tmp/www.txt", "/home/my_file.txt");

第一个参数放原地址,第二个参数放目标地址;

网上还有一种方法是用copy+unlink,不过听说移动的速度不怎样,所以也就不说了,用rename就行,简单、方便、快捷

可能习惯用copy,unlink来实现文件的移动,对于大文件,可能会消耗很长时间,但是经测试发现性能不行。

补充:中文文件及文件夹的问题

相关文章

精彩推荐