php 移动文件夹,php实现移动文件或文件夹的两种方法

php如何实现文件或文件夹的移动?可能有的朋友会想当然的认为可以使用文件上传函数move_uploaded_file,其实该函数并不能实现文件的移动。

php要实现文件或文件夹的移动,可以使用copy和unlink函数,或者是使用rename函数。请看下面具体实现方法。

php使用copy和unlink函数函数移动文件

先简单介绍copy函数和unlink函数:

copy — 拷贝文件

语法:

bool copy ( string $source , string $dest [, resource $context ] )

将文件从 source 拷贝到 dest。

unlink — 删除文件

语法:

bool unlink ( string $filename [, resource $context ] )

删除 filename。和 Unix C 的 unlink() 函数相似。 发生错误时会产生一个 E_WARNING 级别的错误。

下面来看一下如何使用copy和unlink实现文件的移动

$file='userfile/a/abc.txt'; //旧目录

$newFile='userfile/b/newabc.txt'; //新目录

copy($file,$newFile); //拷贝到新目录

/* http://www.manongjc.com/article/1303.html */

unlink($file); //删除旧目录下的文件

?>

php使用rename函数移动文件

php参考手册上是这样介绍rename函数的:

rename — 重命名一个文件或目录

语法

bool rename ( string $oldname , string $newname [, resource $context ] )

尝试把 oldname 重命名为 newname。

参数

oldname用于 oldname 中的封装协议必须和用于 newname 中的相匹配。

newname 新的名字。

context在 PHP 5.0.0 中增加了对上下文(Context)的支持。

rename用于移动文件或文件夹,实例如下:

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

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

小结

上面两种方法都可以实现移动文件,但从性能上讲,rename方法更好,因为rename简单、方便、快捷,而且对于大文件,第一种方法可能会消耗很长时间。

你可能感兴趣的:(php,移动文件夹)