Exécution d'un include

Résolu
delaville81 Messages postés 209 Statut Membre -  
delaville81 Messages postés 209 Statut Membre -
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


3 réponses

jordane45 Messages postés 40050 Statut Modérateur 4 756
 
Bonjour


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

Tu las as où ??

Dans la BDD ou dans le zip ??

0
delaville81 Messages postés 209 Statut Membre
 
Dans le .zip
0
jordane45 Messages postés 40050 Statut Modérateur 4 756
 
Par-ce qu'il faut supprimer le ZIP avant de le recréer.
0
delaville81 Messages postés 209 Statut Membre
 
Merci bien jordane45, je n'avais pas pensais à ça.
Maintenant ça fonctionne.
0