forcage de telechargement, bloquage au bout de 30 sec

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : forcage de telechargement, bloquage au bout de 30 sec

par goeb » 08 mars 2006, 18:19

ton guide est incomplet.
va voir : http://www.php.net/manual/fr/function.flush.php

""flush() vide les buffers de sortie de PHP et tous ceux que PHP utilisait (CGI, un serveur web, etc.). Cette fonction envoit réellement toutes les données préparées vers l'utilsateur.""


mais si ça marche pas, j'ai pas de solution, désolé.

par Invité » 04 mars 2006, 23:41

ok merci mais d'apres mon guide, flush permet de réinitialiser des parties de la memoire cache de mysql, je vois pas bien ce que ça vient faire dans mon fichier :?

personne n'a d'idée :cry:

par goeb » 02 mars 2006, 17:58

vu sur http://www.php.net/manual/fr/function.s ... -limit.php :

""Notez que set_time_limit() n'a pas d'effet lorsque PHP fonctionne en mode safe mode. Il n'y a pas d'autre solution que de changer de mode, ou de modifier la durée maximale d'exécution dans le php.ini.""

si tu n'as pas accès au php.ini, je ne vois pas de solution.

essaye flush() à tout hasard (je connais mal le fonctionnement à ce niveau) :
...
readfile($filename);
flush();

par lokness » 01 mars 2006, 19:18

toujours le meme probleme :cry: :cry: :cry:

par lokness » 01 mars 2006, 19:14

ok donc mon script doit etre comme ça ?
<?php

$filename= isset($_GET['lien']) ? $_GET['lien'] : null;

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($filename) );
header('Accept-Ranges: bytes');
header('Content-Length: '.filesize($filename));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
set_time_limit (0);
readfile($filename);

?>

par goeb » 01 mars 2006, 12:11

salut,
par défaut la durée maximale d'exécution d'un script PHP est de 30 s. donc au-delà, le serveur web tue l'exécution.

cette durée peut être réglée dans le php.ini ou avec la fonction set_time_limit.
http://www.php.net/manual/fr/function.s ... -limit.php

forcage de telechargement, bloquage au bout de 30 sec

par lokness » 28 févr. 2006, 16:21

salut,

j'utilise un script pour forcé le telechargement mais j'ai remarqué que le telechargement se termine au bout d'environ 30 sec alors que le fichier n'est pas fini de telechargé...

mon script:
<?php

$filename= isset($_GET['lien']) ? $_GET['lien'] : null;

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($filename) );
header('Accept-Ranges: bytes');
header('Content-Length: '.filesize($filename));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
readfile($filename);

?>
d'ou viens mon probleme ???

merci