PHP copydir函数问题

时间:2012-10-26 08:01:02

标签: php

我在下面的函数中遇到了一些问题,假设要复制整个目录及其内容 - 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);
}

1 个答案:

答案 0 :(得分:0)

你在哪个平台上运行这个?我只是在Windows上尝试过,它运行得非常好。