我在下面的函数中遇到了一些问题,假设要复制整个目录及其内容 - opendir行每次都返回Unable to open,我不知道为什么。源确实存在,它有755权限(也尝试了757权限,但仍然没有运气!)。
有人可以提出任何建议吗?
function copydir($source,$destination)
{
if(!is_dir($destination))
{
$oldumask = umask(0);
mkdir($destination, 0757); // so you get the sticky bit set
umask($oldumask);
}
$dir_handle = @opendir($source) or die("Unable to open");
while ($file = readdir($dir_handle))
{
if($file!="." && $file!=".." && !is_dir("$source/$file")) //if it is file
{
copy("$source/$file","$destination/$file");
}
if($file!="." && $file!=".." && is_dir("$source/$file")) //if it is folder
{
copydir("$source/$file","$destination/$file");
}
}
closedir($dir_handle);
}
答案 0 :(得分:0)
你在哪个平台上运行这个?我只是在Windows上尝试过,它运行得非常好。