移动文件或复制文件函数
在一些项目的过程中,我们需要移动文件或复制文件这些操作(例如复制图片和移动图片),在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 许可协议。转载请注明出处!
哇塞,不错耶!!