IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Lock avec fread()


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Lock avec fread()
    Bonjour,

    J'utilise PHP pour envoyer de gros fichier hébergés sur un serveur.
    Tout cela fonctionne bien, malheuresement pendant l'envoie du fichier toute action de PHP (affichage de page pour d'autres utilisateurs ou téléchargements à leurs tours) est impossible ...
    Je me demande si je ne dois pas lancer un Thread avant d'envoyer ou s'il existe une primitive PHP à setter pour éviter ce blocage.
    J'ai cherché et testé plusieurs solutions, sans réussite pour le moment

    Avez-vous des idées ?
    Le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    ini_set("memory_limit",'10M');
    header('Pragma: no-cache');
    header('Expires: 0');
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private,false");
    header('Content-Type: application/download');
    header('Content-Type: application/force-download');
    header("Content-Type: application/octet-stream");
    header('Content-Description: File Transfer');
    header("Content-Disposition: attachment; filename=".basename($row['chemin']).";");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($chemin));
    ob_clean();
    flush();
    set_time_limit(0);
    $handle = fopen($chemin, 'rb');
    $buffer = '';
    while(!feof($handle)){
    	$buffer = fread($handle,1048576);
    	echo $buffer;
    	ob_flush();
    	flush();
    }
    fclose($handle);
    exit();
    Merci du coup de pouce

  2. #2
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Personne n'a d'idée ?
    Avez-vous besoin d'un complément d'info ?

Discussions similaires

  1. probleme avec fread
    Par booby dans le forum C
    Réponses: 10
    Dernier message: 06/04/2006, 17h21
  2. Réponses: 2
    Dernier message: 18/03/2006, 19h07
  3. [ASE] Les locks avec un cursor for update
    Par PiyuXYZ dans le forum Sybase
    Réponses: 1
    Dernier message: 11/02/2006, 13h17
  4. petit problème avec fread
    Par Myth_Titans dans le forum C++
    Réponses: 2
    Dernier message: 07/02/2006, 08h40
  5. prblme de lecture avec fread ... etrange...
    Par toto4650 dans le forum MFC
    Réponses: 14
    Dernier message: 28/07/2005, 17h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo