【发布时间】:2011-08-08 03:30:18
【问题描述】:
在我的旧 VPS 上,我使用以下代码将目录中的文件和目录复制到用户提交表单后创建的新目录。
function copyr($source, $dest)
{
// Simple copy for a file
if (is_file($source)) {
return copy($source, $dest);
}
// Make destination directory
if (!is_dir($dest)) {
mkdir($dest);
$company = ($_POST['company']);
}
// Loop through the folder
$dir = dir($source);
while (false !== $entry = $dir->read()) {
// Skip pointers
if ($entry == '.' || $entry == '..') {
continue;
}
// Deep copy directories
if ($dest !== "$source/$entry") {
copyr("$source/$entry", "$dest/$entry");
}
}
// Clean up
$dir->close();
return true;
}
copyr('Template/MemberPages', "Members/$company")
但是现在在我的新 VPS 上它只会创建主目录,但不会将任何文件复制到其中。我不明白这 2 个 VPS 之间会发生什么变化?
【问题讨论】:
-
如果您缩进每个块,您的代码将更具可读性。
-
可能是PHP版本,试试php手册中的recursive copy函数
-
SIFE - 试过了,但也没有用。所以不确定我做错了什么。但是我只是复制代码,输入我的源和目标路径,并确保 chmod 已设置好,但它仍然不起作用
-
@Jasom 可能是您在目标目录中没有足够的权限复制到它。
-
wtf 你在用 $_POST 全局变量吗?这完全杀死了通用方法并使 func 对我无法使用 - 但无论如何,答案中有很好的例子:)