Получение ошибки unlink () после успешного завершения

это может быть действительно глупый вопрос, но я получаю следующую ошибку после того, как код успешно удалил файл, и я не могу понять, почему, код очень прост, он получает имя и путь файла, который будет удален из базы данных а затем удаляет его.

Код:

$getFiles = mysql_query("SELECT * FROM tempFiles WHERE pTID='$passedId'");
$numFiles = mysql_num_rows($getFiles);

for ($f=0;$f<$numFiles;$f++) {

$fileName = mysql_result($getFiles,$f,"fileName");
$deleteFile = "../../".$fileName;
unlink($deleteFile);

}

Предупреждение: отсоединить (../../ files / projects / files / 643115.jpg): нет такого файла или каталога

Скрипт для удаления файла находится в файле scripts / php / thefile, а файл — в файлах / projects / files / thefile, так что ../../ определенно необходим, а не проблема, насколько я могу судить. Я знаю, что файл успешно удаляется, потому что после запуска сценария его больше нет в папке, поэтому я понятия не имею, что является причиной ошибки.

Есть идеи, почему я могу получить ошибку?

Заранее спасибо.

0

Решение

Возможные причины ошибки:

  • Есть более 1 записи в tempFiles стол с таким же fileName, поэтому первая попытка удаляет его, а вторая вызывает ошибку.
  • Когда вы запустили скрипт, в папке не было файла (как сказал @AxelAmthor в комментарии)

Чтобы решить эту проблему, просто добавьте подтверждение (как сказал @Sammitch в комментарии):

if (is_file($deleteFile)) {
unlink($deleteFile);
}
2

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

Других решений пока нет …

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