Bonjour à tous,
Y-a-t-il moyen d'optimiser ce code pour éviter de me retrouver avec une erreur :
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 4292304 bytes)
Pour info,
- ces fichiers à zipper font 600k
- le memory_limit de mon hébergeur est de 16Mo
- modifier le memory_limit avec ini_set n'est pas permis (ni via .htaccess)
- je n'ai pas les moyen de passer sur un dédié :-)
6 fichiers ça passe ... 7 ça coince et idéalement il m'en faudrait 12 :-\
Code :
- <?php
- require_once('inc/zip.lib.php');
- $tab_mp3 = array( '1.mp3','2.mp3','3.mp3','4.mp3','5.mp3','6.mp3' );
- $zip = new zipfile();
- $i = 1;
- foreach( $tab_mp3 as $value ){
- $fp = fopen( 'mp3/' . $value,'r' );
- $content = fread( $fp,filesize( 'mp3/' . $value ) );
- fclose( $fp );
- $zip->addfile( $content,$i . '_' . date( 'Ymd' ) . '.mp3' );
- $i++;
- }
- $archive = $zip->file();
- header( 'Content-Type: application/x-zip' );
- header( 'Content-Disposition: inline; filename=mp3.zip' );
- echo $archive;
- ?>
|
Merci d'avance pour vos lumières