Ejemplo n.º 1
0
function copy_dirs($wf, $wto)
{
    if (!file_exists($wto)) {
        mkdir($wto, 0777);
    }
    $arr = ls_a($wf);
    foreach ($arr as $fn) {
        if ($fn) {
            $fl = $wf . "/" . $fn;
            $flto = $wto . "/" . $fn;
            if (is_dir($fl)) {
                copy_dirs($fl, $flto);
            } else {
                @copy($fl, $flto);
                chmod($flto, 0666);
            }
            // end 2nd improvement
        }
    }
}
Ejemplo n.º 2
0
 /**
  * 复制文件
  * @return  成功返回true,失败返回错误信息
  */
 function process_file()
 {
     /* 复制品牌图片 */
     $from = $this->sroot . '/images/brand/';
     $to = $this->troot . '/data/brandlogo/';
     copy_dirs($from, $to);
     /* 复制商品图片 */
     $to = $this->troot . '/images/goods/';
     $from = $this->sroot . '/images/goods/';
     copy_dirs($from, $to);
     /* 复制友情链接图片 */
     $from = $this->sroot . '/images/link/';
     $to = $this->troot . '/data/afficheimg/';
     copy_dirs($from, $to);
     return TRUE;
 }
Ejemplo n.º 3
0
/**
 * 把一个目录的文件复制到另一个目录(包括子目录)
 * 前提:$from_dir 是目录且存在且可读,$to_dir 是目录且存在且可写
 *
 * @param   string  $from_dir   源目录
 * @param   string  $to_dir     目标目录
 * @param   string  $file_prefix 文件前缀
 * @return  mix     成功返回true,否则返回第一个失败的文件名
 */
function copy_dirs($from_dir, $to_dir, $file_prefix = '')
{
    $result = true;
    if (!is_dir($from_dir)) {
        die("It's not a dir");
    }
    if (!is_dir($to_dir)) {
        if (!mkdir($to_dir, 0700)) {
            die("can't mkdir");
        }
    }
    $handle = opendir($from_dir);
    while (($file = readdir($handle)) !== false) {
        if ($file != '.' && $file != '..') {
            $src = $from_dir . DIRECTORY_SEPARATOR . $file;
            $dtn = $to_dir . DIRECTORY_SEPARATOR . $file_prefix . $file;
            if (is_dir($src)) {
                copy_dirs($src, $dtn);
            } else {
                if (!copy($src, $dtn)) {
                    $result = false;
                    break;
                }
            }
        }
    }
    closedir($handle);
    return $result;
}