PHP 取消链接无法取消链接 zip 文件 - 仍然 returns 正确
PHP unlink fails to unlink zip-file - still returns true
更新: "didn't work" 令人尴尬的原因只是因为我看错了目录。
我需要 unlink/delete 文件夹中的所有文件。为此,我修改了在 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()
仍然是 returns true 而没有删除文件。
也许问题与我的 PHP 版本有关 and/or 事实上它是 运行 在 Windows 服务器上。
相关规格:
PHP版本:5.3.1
XAMPP 版本: xampp-win32-1.7.3
OS: Windows 2008 服务器
任何帮助将不胜感激。
尝试使用 chmod 更改权限:
// Read and write for owner, nothing for everybody else
chmod("/somedir/somefile", 0600);
令人尴尬的是 "didn't work" 只是因为我看错了目录。
更新: "didn't work" 令人尴尬的原因只是因为我看错了目录。
我需要 unlink/delete 文件夹中的所有文件。为此,我修改了在 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()
仍然是 returns true 而没有删除文件。
也许问题与我的 PHP 版本有关 and/or 事实上它是 运行 在 Windows 服务器上。
相关规格:
PHP版本:5.3.1
XAMPP 版本: xampp-win32-1.7.3
OS: Windows 2008 服务器
任何帮助将不胜感激。
尝试使用 chmod 更改权限:
// Read and write for owner, nothing for everybody else
chmod("/somedir/somefile", 0600);
令人尴尬的是 "didn't work" 只是因为我看错了目录。