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

eti-N Messages postés 43 Statut Membre -  
kangourouxxx Messages postés 78 Statut Membre -
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 78 Statut Membre 2
 
Mauvaise variable, tu es dans une boucle infinie :
$numphotoarchive++;

à la place de :
$numphoto ++;
0