php如何实现复制文件
墨初 编程开发 1696阅读
php中的内置函数 copy() ,可以将一个文件复制到一个指定的文件夹中。它就像我们平时在电脑上用鼠标复制粘贴文件操作一样,只是这里是用代码的方式实现,下面是这个copy()函数的用法!
php copy() 函数
copy():复制一个指定的文件,成功返回TRUE,失败返回FALSE
语法:
copy(file,to_file)
参数:
| 参数 | 描述 |
|---|---|
| file | 必需。规定要复制的文件。 |
| to_file | 必需。规定复制文件的目的地。 |
php复制文件的方法
下面是几个php利用copy()函数复制文件的方法!
例1:
// 73so.com
$file = 'name.txt'; // 被复制的文件
$file_new = 'user/name.txt'; // 被复制到的目的地,可使用不能的名字命名文件名
$bool = copy($file,$file_new); //复制成功返回 TRUE 失败返回FALSE
if($bool){
echo '复制成功';
}else{
echo '复制失败';
}例2:
copy() 函数只能一次复制一个文件,下面是一个利用copy() 函数复制整个文件夹的方法。
/**
* 复制文件以及文件夹
* $src 被复制的文件
* $dst 文件复制到的目标目录
*/
function dir_copy($src = '', $dst = ''){
$dir = opendir($src);
dir_mkdir($dst); //判断文件夹是否存在,并创建
while (false !== ($file = readdir($dir))){
if (($file != '.') && ($file != '..')){
if (is_dir($src . '/' . $file)){
dir_copy($src . '/' . $file, $dst . '/' . $file);
}else{
copy($src . '/' . $file, $dst . '/' . $file);
}
}
}
closedir($dir);
return true;
}
/**
* 创建文件夹
*/
function dir_mkdir($path = '', $mode = 0777, $recursive = true){
clearstatcache();
if (!is_dir($path)){
mkdir($path, $mode, $recursive);
return chmod($path, $mode);
}
return true;
}
// 函数调用
dir_copy('system','user');PS:
1、copy() 无法创建不存在的文件夹,需要是用其它的方法来创建
2、copy() 复制失败后,在某些场景下会报错
3、在使用 copy() 函数前,请先确认或判断被复制的文件以及目标文件夹是否存在