PHP目录/文件拷贝/复制自定义函数分享

原创
2016-06-08 17:19:58 874浏览

本文我们分享两个PHP复制目录或者文件的自定义函数dir_copy($src = '', $dst = ''),后面分享的函数可以复制文件夹及下面所有文件。

文件夹文件拷贝/复制函数如下

/**
 * 文件夹文件拷贝
 *
 * @param string $src 来源文件夹
 * @param string $dst 目的地文件夹
 * @return bool
 */
function dir_copy($src = '', $dst = '')
{
    if (empty($src) || empty($dst))
    {
        return false;
    }
    $dir = opendir($src);
    dir_mkdir($dst);
    while (false !== ($file = readdir($dir)))
    {
        if (($file != '.') && ($file != '..'))
        {
            if (is_dir($src . '//m.sbmmt.com/m/' . $file))
            {
                dir_copy($src . '//m.sbmmt.com/m/' . $file, $dst . '//m.sbmmt.com/m/' . $file);
            }
            else
            {
                copy($src . '//m.sbmmt.com/m/' . $file, $dst . '//m.sbmmt.com/m/' . $file);
            }
        }
    }
    closedir($dir);
    return true;
}
/**
 * 创建文件夹
 *
 * @param string $path 文件夹路径
 * @param int $mode 访问权限
 * @param bool $recursive 是否递归创建
 * @return bool
 */
function dir_mkdir($path = '', $mode = 0777, $recursive = true)
{
    clearstatcache();
    if (!is_dir($path))
    {
        mkdir($path, $mode, $recursive);
        return chmod($path, $mode);
    }
    return true;
}




PHP复制文件夹及下面所有文件,参考如下:

function xCopy($source, $destination, $child){
  //用法:
  // xCopy("feiy","feiy2",1):拷贝feiy下的文件到 feiy2,包括子目录
  // xCopy("feiy","feiy2",0):拷贝feiy下的文件到 feiy2,不包括子目录
  //参数说明:
  // $source:源目录名
  // $destination:目的目录名
  // $child:复制时,是不是包含的子目录
  if(!is_dir($source)){
    echo("Error:the $source is not a direction!");
    return 0;
  }
  if(!is_dir($destination)){
    mkdir($destination,0777);
  }
  $handle=dir($source);
  while($entry=$handle->read()) {
    if(($entry!=".")&&($entry!="..")){
      if(is_dir($source."//m.sbmmt.com/m/".$entry)){
        if($child)
        xCopy($source."//m.sbmmt.com/m/".$entry,$destination."//m.sbmmt.com/m/".$entry,$child);
      }
      else{
        copy($source."//m.sbmmt.com/m/".$entry,$destination."//m.sbmmt.com/m/".$entry);
      }
    }
  }
  return 1;
}
?>


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。