移动文件或复制文件函数
在一些项目的过程中,我们需要移动文件或复制文件这些操作(例如复制图片和移动图片),在PHP自带的函数中,也可以实现该功能。
移动文件
5.3.1可以在 Windows 上跨驱动器 rename() 文件。 低于改版本可能无法移动文件。
rename — 重命名一个文件或目录。
复制文件
copy — 拷贝文件
为了防止rename移动文件的时候失败,我写了一个集合的方法,用户移动文件和复制文件操作。
函数
就是在移动文件的时候,当rename方法移动文件失败后,将用复制文件过去,再删除之前的文件,从而达到了移动文件的效果,使该移动功能适合于各种环境系统。
/**
* [moveOrCopy 移动文件或复制文件]
* @param [type] $old_path [当前文件所在路径]
* @param [type] $new_path [移动或复制到的路径]
* @param boolean $move [TRUE为移动]
* @return [boolean] [成功返回TRUE;失败返回FALSE]
* @author [建百站www.jianbaizhan.com]
*/
function moveOrCopy($old_path,$new_path,$move=FALSE){
$dir = dirname($new_path);
if(!file_exists($old_path)){
return FALSE;
}
if(!file_exists($dir)){
mkdir($dir);
}
if($move){
$re = rename($old_path,$new_path);
if($re){
return TRUE;
}else{
$re = copy($old_path,$new_path);
if($re){
$re2 = unlink($old_path);
if($re2){
return TRUE;
}
}
}
}else{
$re = copy($old_path,$new_path);
if($re){
return TRUE;
}
}
return FALSE;
}使用方法
$re = moveOrCopy('im/c_02.jpg','c_02.jpg');
var_dump($re);本文作者: Liaodeity
本文链接: https://www.jianbaizhan.com/article/246
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
哇塞,不错耶!!