Hello
J'ai un petit soucis, j'utilise la lib zip pour créer mes fichiers zip en PHP, cela marche mais au delà d'une certaine taille il me renvoie une erreur:
Code :
- <br />
- <b>Fatal error</b>: Out of memory (allocated 678166528) (tried to allocate 221121457 bytes) in <b>C:\Program Files\xampp\phpMyAdmin\libraries\zip.lib.php</b> on line <b>183</b><br />
|
Pourtant dans php.ini j'ai mis memory_limit à 1000M et j'ai mis le max_execution_time à 600.
Quand je lance la création du fichier ZIP, je vois le processus httpd.exe consommer de plus en plus de ressources (jusqu'à 650Mo environ) puis il s'arrête sur cette erreur.
L'ensemble des fichiers à zipper fait 212Mo.
Voici mon code:
Code :
- require_once("zip.lib.php" ) ;
- $zip = new zipfile() ; //on crée un fichier zip
- // on liste tous les fichiers et on les ajoute au tableau $filename
- if ($dir = @opendir($mydir.$_GET['download']))
- {
- $filename = array() ;
- while (($file = readdir($dir)) !== false)
- {
- // on ajoute seulement les fichiers, pas les répertoires
- if($file != ".." && $file != "." && !is_dir($mydir.$_GET['download'].$file))
- array_push($filename,$file);
- }
- }
- // Pour tous les fichiers dans le tableau, on lit leur contenu et on l'ajoute au fichier ZIP
- $a = 0 ;
- while(count($filename)>$a)
- {
- $zip->addFile(file_get_contents($mydir.$_GET['download'].$filename[$a]), $filename[$a]) ; //on ajoute le fichier
- $a++;
- }
- // on propose de télécharger ce fichier
- header("Content-type: application/octet-stream" );
- $aa=explode("/",$_GET['download']) ;
- header("Content-disposition: attachment; filename=\"".$aa[sizeof($aa)-2].".zip\";" );
- echo $zip-> file();
|
Je sais pas trop quoi faire
Message édité par sue soeur debeat le 08-01-2010 à 01:36:04