更新:为什么它没有工作的尴尬原因"只是因为我正在查看错误的目录。
我需要取消链接/删除文件夹中的所有文件。为实现这一目标,我修改了一个我在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
任何帮助将不胜感激。
答案 0 :(得分:0)
尝试使用chmod更改权限:
// Read and write for owner, nothing for everybody else
chmod("/somedir/somefile", 0600);
答案 1 :(得分:0)
为什么它没有工作的尴尬原因"只是因为我正在查看错误的目录。