PHP-SCRIPT simple pour le téléchargement

Bonjour à tous j'ai quelque soucis avec la gestion de video de plus d 100Mo :( .

1*) J'ai touvé sur le net un script avec buffer qui semblait marché, mais apres quelques tests je me suis rendu compte que le fichier ne se téléchargait jamais completement ( Pour une Vid de 180Mo ca dl jusqu'a 120 ou 160 .. :o , sur la fenetre de téléchargement le % n'est pas affiché et la taille du fichier est inconnue (voir Image) Et si la connexion est occupé par un autre Log le fichier se Dl à 90Mo !, pas du tout stable)
http://img132.imageshack.us/img132/9316/scriptbuffernoncalculejh9.jpg

- le script :
<?php
$dir ="/home/adrien/www/musicdemo/";
$fichier ="VidFamille.mpeg";

header("Content-Type:video/mpeg");
header("Content-Disposition:attachment; filename=$fichier");

$stream = fopen($fichier, "r");
while (!feof($stream)) {
$buffer = fread($stream, 65536);
echo $buffer;
}
fclose($stream);
?></citation>


2*) Une seconde recherche m'a donnée un scipt qui indique le % du téléchargement en cours et la taille du fichier est connu :D , mais si le fichier fait plus de 100Mo il devient moins stable,
la fenetre "ENREGISTRER sous .." met 20/30 sec pour apparaitre et des fois pas du tout ! )

http://img201.imageshack.us/img201/2859/scriptbuffercalculexx5.jpg
Script Version 2"
<?php
$dir ="/home/adrien/www/musicdemo/";
$file ="VidFamille.mpeg";

//telechargement
$taille=filesize("$dir/$file");
header("Content-Type: application/force-download; name=\"$file\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: $taille");
header("Content-Disposition: attachment; filename=\"$file\"");
header("Cache-Control: no-cache, must-revalidate");
readfile("$dir/$file");
exit();


?>
Voilou!
Merci d'avance ..
Configuration: Windows XP
Firefox 3.0.4

1 réponse

  1. salut,

    le http n'est pas fait pour les téléchargement c'est tout

    soit tu t'achètes un serveur capable suivre soit tu download avec un script ftp :)