kenji Posté(e) le 3 octobre 2005 Partager Posté(e) le 3 octobre 2005 bonjour, voila j'ai ce code : header("Content-disposition: attachment; filename=$filename"); header("Content-Type: application/force-download"); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($filename)); header("Pragma: no-cache"); header("Expires: 0"); readfile($filename); il fonctionne parfaitement sur un dedie en php4 par contre sur un autre dedie en php5, le telechargement se bloque a 2 mo apres multiples recherche dans le fichier php.ini rien n'y fait j'ai fait le test sur un mutualise ou le problème et le meme http://90pack.ovh.net/~mostik/ le fichier dl.php et dl.php5 sont identiques, seule l'extention a ete change resultat : le fichier dl.php fonctionne parfaitement le fichier dl.php5 ne fonctionne pas , le telechargement est bloque a 2 mo exactement comme sur mon dedie auriez vous une idee ? merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
savory Posté(e) le 3 octobre 2005 Partager Posté(e) le 3 octobre 2005 Ca ressemble à un probleme de config du memory_limit dans le php.ini de php5. Si tu ne veux pas avoir ce genre de probleme je te conseille de tronquer ton readfile avec un feof/echo. Plusieurs exemples sur http://php.net/readfile Lien vers le commentaire Partager sur d’autres sites More sharing options...
kenji Posté(e) le 4 octobre 2005 Auteur Partager Posté(e) le 4 octobre 2005 merci je vais jeter un oeil la dessus Lien vers le commentaire Partager sur d’autres sites More sharing options...
kenji Posté(e) le 5 octobre 2005 Auteur Partager Posté(e) le 5 octobre 2005 bon finalement le code pour que cela fonctinne est celui ci : <?php if(isset($_GET["file"])){$file = $_GET["file"]; } function dl_file_resume($file){ //First, see if the file exists if (!is_file($file)) { die("<b>404 File not found!</b>"); } //Gather relevent info about file $len = filesize($file); $filename = basename($file); $file_extension = strtolower(substr(strrchr($filename,"."),1)); $ctype="application/force-download"; //Begin writing headers header("Cache-Control:"); header("Cache-Control: public"); //Use the switch-generated Content-Type header("Content-Type: $ctype"); //if your filename contains underscores, you can replace them with spaces header("Content-disposition: attachment; filename=$filename"); header($header ); header("Accept-Ranges: bytes"); header("Content-Transfer-Encoding: binary"); $size=filesize($file); //check if http_range is sent by browser (or download manager) if(isset($_SERVER['HTTP_RANGE'])) { list($a, $range)=explode("=",$_SERVER['HTTP_RANGE']); //if yes, download missing part str_replace($range, "-", $range); $size2=$size-1; $new_length=$size2-$range; header("HTTP/1.1 206 Partial Content"); header("Content-Length: $new_length"); header("Content-Range: bytes $range$size2/$size"); }else{ $size2=$size-1; header("Content-Range: bytes 0-$size2/$size"); header("Content-Length: ".$size2); } //open the file $fp=fopen("$file","r"); //seek to start of missing part fseek($fp,$range); //start buffered download while(!feof($fp)){ //reset time limit for big files set_time_limit(0); print(fread($fp,1024*8)); flush(); } fclose($fp); exit; } dl_file_resume($file); ?> pour le cas ou d'autres rencontrerait ce problème Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.