это может быть действительно глупый вопрос, но я получаю следующую ошибку после того, как код успешно удалил файл, и я не могу понять, почему, код очень прост, он получает имя и путь файла, который будет удален из базы данных а затем удаляет его.
Код:
$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, так что ../../ определенно необходим, а не проблема, насколько я могу судить. Я знаю, что файл успешно удаляется, потому что после запуска сценария его больше нет в папке, поэтому я понятия не имею, что является причиной ошибки.
Есть идеи, почему я могу получить ошибку?
Заранее спасибо.
Возможные причины ошибки:
tempFiles
стол с таким же fileName
, поэтому первая попытка удаляет его, а вторая вызывает ошибку.Чтобы решить эту проблему, просто добавьте подтверждение (как сказал @Sammitch в комментарии):
if (is_file($deleteFile)) {
unlink($deleteFile);
}
Других решений пока нет …