Удалить видео с сервера и базы данных

#php #filezilla

#php #filezilla

Вопрос:

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

Что я пробовал

 if(isset($_POST['deleteSubcat'])){
  $del = $_POST['deleteSubcat'];
    DeleteSubCat($del);
}

function DeleteSubCat($del){
    include '../../../include/dbConnection/dbcon.php';

    //to skip the update query because the item is about to delete.
    $type = '1';
    // DeleteVideo($del, $type);

    //deletes subcat from tables hw_subcategorie.
    $sqldelete = 'DELETE FROM hw_subcategorie WHERE subcategorie_id = "'.$del.'"';
    //if query is done right then 'Record updated successfully'
    if (mysqli_query($conn, $sqldelete)) {
      $sqlimg = 'SELECT video_link FROM hw_subcategorie WHERE subcategorie_id = "'.$del.'"';
      $result = mysqli_query($conn,$sqlimg);
      $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
      unlink("video/".$row["video_link"]);
        echo "Record deleted successfully";
      } else {
        echo "Error deleted record: " . mysqli_error($conn);
    }
  }
  

Комментарии:

1. Вы уверены, что путь к unlink() правильный? Это показывает какую-то ошибку?

2. да, я уверен, что могу показать вам свою структуру папок

3. Вы удаляете и после того, как вы ищете то id , которое было удалено

4. @dm707 я пробовал оба способа, но оба не сработали.

5. Итак, укажите свою структуру папок

Ответ №1:

Вы пытаетесь выполнить поиск в удаленной записи, чтобы удалить видео с сервера.

Выполните выбор перед удалением:

 function DeleteSubCat($del){
    include '../../../include/dbConnection/dbcon.php';

    //to skip the update query because the item is about to delete.
    $type = '1';

    // Get the video link before delete it from db
    $sqlimg = 'SELECT video_link FROM hw_subcategorie WHERE subcategorie_id = "'.$del.'"';
    $result = mysqli_query($conn,$sqlimg);
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
    $videoLink = $row["video_link"];
    unlink("video/".$videoLink);
    //deletes subcat from tables hw_subcategorie.
    $sqldelete = 'DELETE FROM hw_subcategorie WHERE subcategorie_id = "'.$del.'"';
    //if query is done right then 'Record updated successfully'
    if (mysqli_query($conn, $sqldelete)) {
        echo "Record deleted successfully";
    } else {
        echo "Error deleted record: " . mysqli_error($conn);
    }
}