Удалить видео с сервера и базы данных - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть блог, где вы также можете добавлять изображения и видео. У меня проблема в том, что при удалении блога изображение или видео все равно будет на сервере, а слишком большое количество файлов на сервере не подходит для сервера. После некоторых исследований я обнаружил функцию 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);
    }
  }

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

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

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

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);
    }
}
0 голосов
/ 04 апреля 2019

Надеюсь, это поможет вам.

//Differently Formatted Select
$resdb = $db->query("

SELECT video_link
FROM hw_subcategorie
WHERE subcategorie_id = '$del'
Order by subcategorie_id
");

?>


<?php

 if($resdb->num_rows) {
 while($r = $resdb->fetch_object()){
 //Deleting from server
 $deletevid = 'video/'.$r->video_link; unlink($deletevid);
 //Deleting from Database
 $conn = new mysqli($servername, $username, $password, $dbname);
 $sql="DELETE FROM hw_subcategorie WHERE subcategorie_id = '$del'";
 if ($conn->query($sql) === TRUE) {
 }
}
}
?>

`

...