2017-05-08 2 views
0

J'ai un problème avec la fonction unlink() en PHP. J'ai utilisé une case à cocher pour supprimer des images ou des fichiers vidéo extraits.Utiliser des cases à cocher pour supprimer plusieurs images ne dissocie pas les fichiers du dossier

Plusieurs images ou vidéos sont supprimées avec succès de la base de données mais pas du dossier local en utilisant unlink().

Il n'y a pas d'erreur mais lorsque je sélectionne toutes les cases à cocher et que j'appuie sur supprimer, alors tous les fichiers de la base de données sont supprimés mais seul le premier fichier est dissocié.

ceci est mon code:

<?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>"; 
     } 
    } 
} 
?> 

Répondre

0

essayer print_r($row); et vérifiez le nom clé du nom de fichier changez cette ligne que vous accédez à un élément du tableau

$fname=$row[FILE_NAME]; 

à

$fname=$row['the actual name of the field']; 
+0

remercier son fait ... le nom de domaine est juste, mais je manque '' comme ce fname $ = $ row [FILE_NAME]; et résolu en utilisant '' $ fname = $ row ['FILE_NAME']; – pranay

+0

vous êtes les bienvenus – Exprator

0

Remplacer $Path="data/58f60f2e09f07_jay/videos/$fname"; h $Path="data/58f60f2e09f07_jay/videos/".$fname;

et remplacer $row[FILE_NAME] avec $row['FILE_NAME']