2010-04-22 3 views
1

Par défaut, vous ne pouvez pas accéder à un fichier téléchargé tant qu'il n'a pas été entièrement transféré sur le serveur.Lecture du fichier en cours de téléchargement

Quel est le meilleur moyen de contourner ce problème et de pouvoir accéder au «flux d'octets» lorsque le téléchargement de fichier est en cours?

Répondre

3

Je pense que le plus proche que vous obtiendrez à ce sujet en PHP est d'examiner les différentes solutions de barre de progression qui vous donnent des barres de progression tout en faisant des téléchargements de fichiers vers un script PHP. Je n'en connais aucune en détail (j'ai attendu que SWFUpload devienne disponible pour le faire dans Flash) mais si vous pouvez obtenir la progression d'un téléchargement, il est probable que vous puissiez aussi obtenir les morceaux de données eux-mêmes. (Mise à jour :. La solution APC ne peut pas Il semble donner la seule progression du téléchargement.)

Découvrez this question, en particulier this answer et this one.

Aucune des approches ne fonctionne en pur vanilla PHP, elles ont toutes besoin de Perl, d'APC ou d'autres éléments côté serveur pour fonctionner.

mise à jour finale: Un coup d'œil rapide sur la Perl code de Raditha Mega Upload progress bar me fait penser ceci est votre meilleur pari, car il semble être en interaction avec le fichier réel qui est en cours de téléchargement. Aucune garantie, cependant.

0

Vous aurez besoin d'une sorte de tampon où les nouvelles données seront ajoutées et où vous lisez en morceaux. Ensuite, vérifiez s'il y a de nouvelles données et relisez-les.

Questions connexes