Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1033 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  readfile sur https avec un gros fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

readfile sur https avec un gros fichier

n°1656089
pablor44
Posté le 10-12-2007 à 18:43:48  profilanswer
 

Bonjour à tous,
alors voilà je me trouve face à un bug récalcitran sur un de mes scripts php. Ce script a pour objectif de lancer le téléchargement d'un fichier généré à la volée à partir d'un fichier existant appellé par la fonction readfile(). Voici le script:
 

Code :
  1. <?
  2. $file=$_GET['file'];
  3. //telechargement
  4. $taille=filesize($file);
  5. header("Content-Type: application/force-download; name=\"$file\"" );
  6. header("Content-Transfer-Encoding: binary" );
  7. header("Content-Length: $taille" );
  8. header("Content-Disposition: attachment; filename=\"$file\"" );
  9. header("Expires: 0" );
  10. header("Cache-Control: no-cache, must-revalidate" );
  11. header("Pragma: no-cache" );
  12. readfile($file);
  13. exit();
  14. ?>


 
J'utilise ce script sur une connection sécurisée https et le fichier que je génère pèse environ 800Mo et c'est là que se pose le problème car lorsque que j'ouvre la page dans mon navigateur le téléchargement se lance et s'effectue jusqu'aux environs de 500Mo et là mon navigateur me renvoi l'erreur suivante : "code d'authentification de message incorrect".
 
Le script ne pose pas de problème sur une connection http ou avec des fichiers inferieur à 500Mo.
 
Quelqu'un aurait-il une idée de l'origine du problème?
 
Cordialement
Pablo

mood
Publicité
Posté le 10-12-2007 à 18:43:48  profilanswer
 

n°1656289
PierreC
Posté le 11-12-2007 à 09:57:05  profilanswer
 

ne pourrait tu pas utiliser la fonction curl ? pour télécharger un gros fichier je pense que c'est plus adapté.


---------------
Du tofu en Alsace : www.tofuhong.com
n°1656420
pablor44
Posté le 11-12-2007 à 11:27:20  profilanswer
 

Merci PierreC de ta réponse, je l'ai mise en place mais le problème persiste: aux alentours de 500Mo le téléchargement s'arrête.
 
Voici le code que j'ai utilisé :
 

Code :
  1. <?
  2. header("Content-Type: application/force-download; name=\"$file\"" );
  3. header("Content-Disposition: attachment; filename=essai.avi" );
  4. $ch = curl_init("mon_url" );
  5. curl_exec($ch);
  6. curl_close($ch);
  7. ?>


 
Merci

n°1656923
nargy
Posté le 11-12-2007 à 23:20:24  profilanswer
 

ça me parait aussi étrange, qu'il doit y avoir une solution simple...

 

vérifie d'abord la limite de temps autorisé pour les scripts PHP (ça se règle dans le php.ini ou php.conf pour la conf globale, ou avec la fonction set_time_limit() pour une conf par fichier PHP).


Message édité par nargy le 11-12-2007 à 23:22:05
n°1657030
pablor44
Posté le 12-12-2007 à 10:48:14  profilanswer
 

Merci mille fois de votre aide. Nargy le problème était bien là ^^. Une commande devait être executé une fois l'ensemble du fichier mise en cache soit quelque centaine de Mo dans mon cas avant la fin du téléchargement et donc cette commande était hors du délai du set_time_limit() et provoquait donc une erreur qui mettai fin au téléchargement.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  readfile sur https avec un gros fichier

 

Sujets relatifs
ouverture fichier texte dans une boucle //ex edit meta tagsMacro appelant un fichier .xls annexe -> Pb d'accès aux données
enregistrer une page generer par php en un fichier texte.refFractionner un fichier texte
Problème affichage du text dans un fichier après OpenTextFilecopie automatique de fichier
[BATCH] Selection du fichier le plus recentRécupéré et stoquer dans un fichier log les URL visités
[Résolu] Chat: bdd ou fichier?java et fichier *.*
Plus de sujets relatifs à : readfile sur https avec un gros fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR