php如何实现复制文件
墨初 编程开发 964阅读
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() 函数前,请先确认或判断被复制的文件以及目标文件夹是否存在