【问题标题】:Copy entire directory and content from one location to another using PHP使用 PHP 将整个目录和内容从一个位置复制到另一个位置
【发布时间】:2012-08-01 03:46:15
【问题描述】:

我正在尝试使用 PHP 将整个文件夹从一个位置复制到另一个位置,但它似乎不起作用:

$username = "peter" //this is just an example.
$userdir = "../Users/".$username."/";
mkdir($userdir);// create folder 

// copy image folder
$source = "templates/template1/images/";//copy image folder -source
$dest = $userdir;

function copyr($source, $dest){
// Simple copy for a file
if (is_file($source)) {
$c = copy($source, $dest);
chmod($dest, 0777);
return $c;
}

// Make destination directory
if (!is_dir($dest)) {
$oldumask = umask(0);
mkdir($dest, 0777);
umask($oldumask);
}

// Loop through the folder
$dir = dir($source);
while (false !== $entry = $dir->read()) {
// Skip pointers
if ($entry == "." || $entry == "..") {
continue;
}

}

// Clean up
$dir->close();
return true;
}

我还尝试了我在网上看到的其他解决方案,但均未成功。将不胜感激任何可能的帮助


我也只是尝试了这个脚本,没有任何运气。

我刚刚尝试了另一个脚本,但仍然没有运气:(。

$template_homepage = "templates/template1/index.php";//path to default template homepage
$homepage = file_get_contents($template_homepage);//get default homepage structure


$username = testuser;// folder name for store


if (trim($username) == '') {
die("An error occured.");
} else {
$userdir = "../Users/".$username."/";
mkdir($userdir);// create folder for new website

// copy image folder
$src = 'templates/template1/images';//copy image folder -source
$dst = $userdir;

   function rcopy($src, $dst) {
  if (file_exists($dst)) rrmdir($dst);
  if (is_dir($src)) {
mkdir($dst);
$files = scandir($src);
foreach ($files as $file)
if ($file != "." && $file != "..") rcopy("$src/$file", "$dst/$file"); 
}
  else if (file_exists($src)) copy($src, $dst);

}




$fh = fopen($userdir."index.php", 'w') or die("An error occured. ");// create home page in users folder

   // $stringData = $title; //."\n";//
   fwrite($fh, $homepage);// write homepage structure into new homepage file.
    fclose($fh);// close new homepage file.
 $launchpage = "../Users/".$username."/"; // launch new homepage file.
header("Location: $launchpage");
   }

【问题讨论】:

  • 你有dest目录的权限吗?

标签: php directory copy


【解决方案1】:

您为什么不使用exec 并使用操作系统命令将文件夹复制过来?

exec('cp -r sourcedir destdir');

【讨论】:

  • 我不知道该怎么做。你能帮帮我吗? PLS
  • 刚试过这个,它不起作用。 $userdir = "../Users/".$username."/"; mkdir($userdir);// 为新网站创建文件夹 // 复制图片文件夹 $src = "/templates/template1/images";// 复制图片文件夹 -source $des = $userdir; shell_exec("cp -r $src $dest");
  • 在调用 mkdir($userdir) 后,您是否能够确认 $userdir 已成功创建?
  • 是的 $userdir 目录已成功创建,我尝试了几个我在网上看到的示例,但没有一个有效。这可能是我的服务器设置???
  • 我在 Windows 7 机器上运行 Apache、MySQL 和 PHP。
猜你喜欢
  • 1970-01-01
  • 2014-11-25
  • 1970-01-01
  • 2014-11-26
  • 2014-02-04
  • 1970-01-01
  • 1970-01-01
  • 2011-09-07
相关资源
最近更新 更多