Exécution d'un include

Résolu/Fermé
delaville81 Messages postés 196 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 2 juin 2024 - 20 juin 2017 à 15:36
delaville81 Messages postés 196 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 2 juin 2024 - 20 juin 2017 à 16:05
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 38300 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 novembre 2024 4 704
20 juin 2017 à 15:41
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 196 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 2 juin 2024
20 juin 2017 à 15:42
Dans le .zip
0
jordane45 Messages postés 38300 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 novembre 2024 4 704
20 juin 2017 à 15:47
Par-ce qu'il faut supprimer le ZIP avant de le recréer.
0
delaville81 Messages postés 196 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 2 juin 2024
20 juin 2017 à 16:05
Merci bien jordane45, je n'avais pas pensais à ça.
Maintenant ça fonctionne.
0