Exécution d'un include

Résolu
Cher confrères,
Encore une fois, je sollicite votre aide pour un souci.
Dans un cadre de développement, je créer des galleries photos.
Lors de l'ajout, je génère un fichier .zip content les photos (ça marche)
Lorsque je modifie ma gallerie en supprimant des photos, je re génère le .zip avec la modification des photos supprimées. Mais là problème j'ai toujours les photos supprimées.

Pour la suppression
if(isset($_POST['del'])){
			if ($_POST['del_photo'] != ''){
				for ($i=0; $i < count($_POST['del_photo']); $i++) {
					$sql_img = 'SELECT id_photo, id_user, id_album, img, tn_img FROM photos_album WHERE id_photo = '.$_POST['del_photo'][$i].'';
					$pdo->exec('SET NAMES utf8');
					$resu = $pdo->query($sql_img);
					$row = $resu->fetch();
					$id_photo = $row['id_photo'];
					$id_user = $row['id_user'];
					$id_album = $row['id_album'];
					$img = $row['img'];
					$tn_img = $row['tn_img'];
					//on supprimme les photos du serveur
					unlink('./photos/'.$id_user.'/'.$id_album.'/'.$img);
					unlink('./photos/'.$id_user.'/'.$id_album.'/thumbs/'.$tn_img);
					//on supprime de la base
					$sql_supp_img = 'DELETE FROM photos_album WHERE id_photo = :id_photo';
					$stmt=$pdo->prepare($sql_supp_img);
					$nb = $stmt->execute(array(':id_photo'=>$id_photo));				
				}	
			}
			$id_album = $_POST['id_album'];
			$id_user = $_SESSION['id_user'];
			$nom_album = nom_album($_POST['id_album']);
			include ('zip.php');
			header('location:gerer_photos.php?id_album='.$id_album.'');	
		}


Fichier génération .zip

// nouvelle archive
$zip = new ZipArchive;

// ouverture
if ($zip->open('./zip/'.$nom_album.'.zip', ZipArchive::CREATE) === TRUE) {
   	//$folder = 'mon_dossier';
	$folder = './photos/'.$id_user.'/'.$id_album;
   	inputfolder: // "goto" apparu en php >= 5.3.0				
   // ouvre le dossier
   if ($handle = opendir($folder)) {
      // parcourt les entrées une par unes.
      while (FALSE !== ($entry = readdir($handle))) {
         // on exclu les dossiers parents (..) et courant (.),
         // ainsi que les fichiers dont on n’a pas les droits en lecture
         if ($entry != "." AND $entry != ".." AND $entry !=  "thumbs" AND is_readable($folder.'/'.$entry)) {				
            // si c’est un dossier, on reboucle avec le GOTO
            if (is_dir($folder.'/'.$entry)) {
               // ne surtout pas oublier ceci :)
               $folder =  $folder.'/'.$entry;
               goto inputfolder;
            }				
            // on ajoute le fichier (l’arborescence d’origine est conservée)
            //$zip->addFile($folder.'/'.$entry, $folder.'/'.$entry);
			$zip->addFile($folder.'/'.$entry, $entry);
         }
      }				
      // ferme le dossier
      closedir($handle);
   }				
   // ferme l’archive ZIP
   $zip->close();
			   
} 


Merci de votre aide



--
Bien PHPment et MySQLment
Delaville

3 réponses

  1. Modérateur
    Bonjour


    Mais là problème j'ai toujours les photos supprimées.

    Tu las as où ??

    Dans la BDD ou dans le zip ??

    1. Dans le .zip
      1. Modérateur
        Par-ce qu'il faut supprimer le ZIP avant de le recréer.
    2. Merci bien jordane45, je n'avais pas pensais à ça.
      Maintenant ça fonctionne.