xampp — PHP unlink не может отсоединить zip-файл — все равно возвращает true

ОБНОВИТЬ: Смущающая причина, по которой это «не работает», была основана на том факте, что я смотрел не на тот каталог.

Мне нужно отменить связь / удалить все файлы в папке. Чтобы добиться этого, я изменил метод, который я нашел здесь, на 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() по-прежнему возвращает истину без удаления файла.

Возможно, проблема связана с моей версией PHP и / или тем, что она работает на Windows Server.

Соответствующие спецификации:

Версия PHP: 5.3.1
Версия XAMPP: XAMPP-win32-1.7.3
ОПЕРАЦИОННЫЕ СИСТЕМЫ: Windows 2008 Server

Любая помощь будет оценена.

0

Решение

Попробуйте изменить разрешения с помощью CHMOD:

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

Другие решения

Смущающая причина, по которой это «не работает», была основана на том факте, что я смотрел не на тот каталог.

0

По вопросам рекламы [email protected]