PHP unlink无法取消链接zip文件 - 仍然返回true

时间:2015-01-19 11:18:24

标签: php xampp unlink

更新:为什么它没有工作的尴尬原因"只是因为我正在查看错误的目录。

我需要取消链接/删除文件夹中的所有文件。为实现这一目标,我修改了一个我在SO上找到的方法:

public function deleteDirContent($dirPath)
{
    if (!is_dir($dirPath)) 
    {
        throw new InvalidArgumentException("$dirPath must be a directory");
    }
    if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') 
    {
        $dirPath .= '/';
    }
    $files = glob($dirPath . '*', GLOB_MARK);
    foreach ($files as $file) 
    {
        if (is_dir($file)) 
        {
            $this->deleteDirContent($file);
        } 
        else 
        {
            print_r($file);
            if(unlink($file))
            {
                echo " - SUCCESS";
            }
            else
            {
                echo " - ERROR !";
            }
            echo PHP_EOL;
        }
    }
}

该方法适用于所有文件,但*.zip文件除外。而且更奇怪的是:unlink()仍然返回true而不删除文件。

问题可能与我的PHP版本和/或它在Windows Server上运行的事实有关。

相关规格:

PHP版本: 5.3.1
XAMPP版本: xampp-win32-1.7.3
操作系统:Windows 2008 Server


任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

尝试使用chmod更改权限:

// Read and write for owner, nothing for everybody else
chmod("/somedir/somefile", 0600);

答案 1 :(得分:0)

为什么它没有工作的尴尬原因"只是因为我正在查看错误的目录。