Version complète: sur le forum Webmaster Hub : zipper en php avec pclzip
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
cvmh
Bonjour

J'utilise la librairie pclzip.php pour générer dynamiquement un fichier ZIP en php : ça a tjrs bien marché jusqu'à ce cas particulier :
le ZIP est généré grâce à des requetes MySQL et devrait contenir un grand nombre de fichiers (la taille finale devrait dépasser 20Mo).
L'action de ZIP bloque toujours quasiment au même point (vers 17Mo environ) et mon zip final ne contient pas toutes les données qu'il devrait. 3 pistes :
- soit le temps d'exécution du script est trop long : a priori non, car j'ai mis set_time_limit(0);
- soit je perds la connexion au serveur mysql : possible
- soit il y a une taille maxi au .ZIP généré ??

Quand j'exécute mon script, au bout de X secondes, ma page affiche "Aucune page à afficher"
Evidemment, quand mes requetes mysql essaient de générer un zip plus petit, pas de problème pour le script.

Si quelqu'un a une idée, j'en serais ravi...
Anonymus
D'autres pistes possibles :
- Une requète qui bloque toutes les autres
- un timeout non pas du serveur, mais du navigateur.

Pour le 2, tu peux faire comme ceci :
Affiches les requètes à l'écran (ou envoies juste un point echo ". ";), et mets un 'flush' derrière.
Ca aura pour effet d'envoyer en permanence quelque chose au navigateur, pour éviter le timeout de celui-ci.

Pour le 1 :
Mélanges les requètes : Par exemple, tu coupes le fichier en 2, et tu passes la 2e partie en premier, puis la 1ere en second. Tu verras ainsi, si ca bloque sur une requète. (si le fichier s'arrete à... 7-8 Mo, c'est qu'il y a très probablement un problème sur une requète.)


Nico.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.