У меня проблема с unlink()
функция в PHP. Я использовал флажок для удаления изображений или загруженных видеофайлов.
Несколько изображений или видео успешно удалены из базы данных, но не из локальной папки с помощью unlink()
,
Ошибок нет, но когда я устанавливаю все флажки и нажимаю «Удалить», все файлы из базы данных удаляются, но только первый файл не связывается.
это мой код:
<?php // for delete checked video php script
include('config.php');
if(isset($_POST['delete'])) {
$checkedCandidates = 0;
$id = implode(",", $_POST['deletecb']);
$checkedCandidates = count($id);
if ($checkedCandidates < 1) {
echo "<div id=\"errormsg\"> You need to check at least one video for delete. </div>";
echo "<script>setTimeout(\"location.href = 'video_upload.php';\",3000);</script>";
} else {
$result=mysqli_query($connection,"SELECT * FROM video_gallery where id_vid IN($id) and users_name='$login_session'");
while ($row=mysqli_fetch_assoc($result)) {
$fname=$row[FILE_NAME];
$Path="data/58f60f2e09f07_jay/videos/$fname";
if (file_exists($Path)){
if (unlink($Path)) {
echo "success";
} else {
echo "fail";
}
} else {
echo "file does not exist";
}
}
$query1=mysqli_query($connection,"delete from video_gallery where id_vid IN($id) and users_name='$login_session'");
if($query1) {
echo "<div id=\"successmsg\"> delete successfully </div>";
} else {
echo "<div id=\"errormsg\"> failed operation!!</div>";
}
}
}
?>
пытаться print_r($row);
и проверьте имя ключа имени файла
измените эту строку при доступе к элементу массива
$fname=$row[FILE_NAME];
в
$fname=$row['the actual name of the field'];
замещать $Path="data/58f60f2e09f07_jay/videos/$fname";
с $Path="data/58f60f2e09f07_jay/videos/".$fname;
и заменить $row[FILE_NAME]
с $row['FILE_NAME']