PHP: *.zip->addFile en série

Fermé
eti-N Messages postés 36 Date d'inscription lundi 5 janvier 2015 Statut Membre Dernière intervention 1 décembre 2016 - Modifié par eti-N le 24/01/2015 à 10:28
kangourouxxx Messages postés 71 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 6 mars 2015 - 12 févr. 2015 à 16:31
Bonjour,
J'ai besoin d'écrire un code php permettant de télécharger une série de photos dans une archive zip. Je me suis déjà renseigné sur la création d'archives zip en PHP (dont une une page sur le célébrissime OPENCLASSROM, qui m'a fourni la structure de mon code).
Le problème est simple: les photos sont entreposées dans un dossier et portent toute le même nom, à l'exception du numéro de série:
photo1.JPG
photo2.JPG
photo3.JPG
photo4.JPG
etc...
Je peux donc facilement parcourir les photos avec une boucle while de base, par exemple même si ce n'est probablement la manière la plus optimale de le faire.
l'idée étant de rentrer toutes les photos d'un dossier dans une archive .zip pour un nombre de photos indéfini.
Je voudrais savoir deux choses:
I) Pourquoi ce code ne marche-t-il pas?
II) Existe-t-il une fonction simple pour enregistrer dans le zip le dossier AVEC son contenu?
<?php
$zip = new ZipArchive();

if($zip->open('fichier.zip', ZipArchive::CREATE) === true)
{
$numphoto=1;

//je parcours le dossier et j'enregistre les photos dans le zip au fur et à mesure
while(file_exists('mondossier/photo'.$numphoto.'.JPG'))
{
$zip->addFile('mondossier/'.$numphoto.'.JPG');

$numphotoarchive++;
}
$zip->close();
}
else
{
echo 'Impossible d'ouvrir "fichier.zip<br/>';
}
?>

Merci d'avance de votre aide.

A voir également:

1 réponse

kangourouxxx Messages postés 71 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 6 mars 2015 2
12 févr. 2015 à 16:31
Mauvaise variable, tu es dans une boucle infinie :
$numphotoarchive++;

à la place de :
$numphoto ++;
0