1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
<?php
require('../inc/classe/Mysql.php');
require('../inc/classe/standard_fonctions.php');
$sql= new Mysql();
if(isset($_COOKIE['panier_photos']))//recuperation du cookie pour panier de telechargement
{
$var= unserialize($_COOKIE['panier_photos']);
$i=0;
$aZipper=array();
foreach($var as $vars)//pour chaque entree dans le tableau mots cle on remplace les cottes par leur code html
{
//echo("<BR/>mots cles:".$vars);
$requete["postPourPanier"]="SELECT id_fichier, nom_fichier, nom_sur_disque FROM fichier WHERE id_fichier=".$vars.";";
$postPourCePanier=$sql->tabresSql($requete["postPourPanier"]);
$aZipper[$i]=$postPourCePanier[0][2];
$vars="";
$i+=1;
}
//setcookie('panier_photos', '', 1);
setcookie('panier_photos', "",1,'/phototeque/','10.8.166.207') or die("Impossible d'écrire le Cookie");
}
$zip = new ZipArchive();
if($zip->open('Archive.zip', ZipArchive::CREATE) == TRUE)
{
// Ouverture de larchive réussie.
// Récupération des fichiers.
$fichiers = $aZipper;
// On enlève . et .. qui représentent le dossier courant et le dossier parent.
//unset($fichiers[0], $fichiers[1]);
foreach($fichiers as $f)
{
// On ajoute chaque fichier à larchive en spécifiant largument optionnel.
// Pour ne pas créer de dossier dans larchive.
if(!$zip->addFile("../container_uplad/".$f, $f))
{
echo 'Impossible d'ajouter "'.$f.'".<br/>';
}
}
// On ferme larchive.
$zip->close();
// On peut ensuite, comme dans le tuto de DHKold, proposer le téléchargement.
header('Content-Disposition: attachment; filename="Archive.zip"'); //Nom du fichier.
header('Content-Length: '.filesize('Archive.zip')); //Taille du fichier.
readfile('Archive.zip');
}
else
{
// Erreur lors de louverture.
// On peut ajouter du code ici pour gérer les différentes erreurs.
echo 'Erreur, impossible de créer l'archive.';
echo "<script>alert(\"impossible de creer le zip.\")</script>";
}
?> |
Partager