Barre de progression

Eléphanteau du PHP | 41 Messages

02 août 2006, 23:26

Bonjour,

Mon problème est simple j'aimerais lorsqu'un fichier est uploader sur mon site que le visiteur voye la progression de l'upload style 56%.

Merci d'avance

Mammouth du PHP | 19672 Messages

02 août 2006, 23:47

Ha... et alors ? Où se situe ton problème ? (Si problème il y a...) Peut-être pensais-tu que quelqu'un allait te donner un code tout prêt à l'emploi ?

Ce n'est pas un forum de script mais un forum où tu trouveras de l'aide pour la mise au point de tes propres scripts. As-tu commencé à coder quelque chose ou à tout le moins commencé à le modéliser un peu ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 332 Messages

03 août 2006, 12:12

Faut également réfléchir un peu : le PHP tourne sur le serveur et est déclenché à chaque affichage d'une page.

Comment est-il donc possible, dans ce cas, que PHP
1) connaisse la taille du fichier qui se trouve sur le poste client
2) change de page pendant un upload

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 août 2006, 12:19

Henri, même si ta remarque est très juste, la manière est assez ... brutale. :?
Tout le monde n'a pas forcément à l'esprit la notion de client/serveur et nous sommes là pour la leur expliquer. Pas la peine d'être violent ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 140 Messages

03 août 2006, 13:41

Mais disons neanmoins que c'est realisable vu que c'est implémenté dans certains CMS.

Le secret c'est de faire de l'AJAX en plus du PHP :)

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

03 août 2006, 14:06

Non, le secret c'est d'utiliser un langage de script donnant accès au rawdata de l'upload. Sans ça tu n'as aucun contrôle de l'avancement du téléchargement.
PHP doit être patché pour le permettre, ou on doit utiliser un autre langage le permettant (Perl, Java, Ruby).

Et à côté bien sûr un peu de Javascript (Ajax ou iframe convient bien).
Modifié en dernier par naholyr le 03 août 2006, 14:09, modifié 1 fois.

Eléphant du PHP | 332 Messages

03 août 2006, 14:08

@Zeus,

Si moi, je suis violent, alors que dire de Cyrano (modérateur semble t'il) qui a carrément allumé Ceubex en le renvoyant dans les cordes sans un mot d'explication ?

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

03 août 2006, 14:11

Si moi, je suis violent, alors que dire de Cyrano (modérateur semble t'il) qui a carrément allumé Ceubex en le renvoyant dans les cordes sans un mot d'explication ?
En l'occurrence ta violence n'était pas justifiée puisque tu avais tort sur le point principal : ce n'est pas le fait que PHP soit un langage côté serveur qui est bloquant dans cette histoire, c'est le fait que PHP soit... PHP :) (les autres langages web ont tous la possibilité de connaître l'avancement d'un upload).

Ainsi en faisant l'envoi du script avec une bidouille Javascript (assez rocambolesque, mais éprouvée et qu'on doit pouvoir trouver à peu près partout en cherchant un peu) le fichier est envoyé en Ajax, et on interroge ensuite régulièrement le script pour savoir où il en est de l'upload. Rien de bloquant pour tout langage sauf PHP (cela dit il me semble que ni ASP ni Python ne savent le faire non plus).

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 août 2006, 14:11

@Zeus,

Si moi, je suis violent, alors que dire de Cyrano (modérateur semble t'il) qui a carrément allumé Ceubex en le renvoyant dans les cordes sans un mot d'explication ?
1/ c'est à toi que je parle, pas à Cyrano
2/ Cyrano étant modérateur, c'est en privé que nous parlons de nos différentes manières de modérer
3/ Cyrano étant modérateur, il a le droit, voire le devoir, de recentrer les membres (ce que je fait avec toi en ce moment) et ce n'est en aucun cas à toi
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

03 août 2006, 14:13

Ah et puis j'en rajoute une couche (et je préviens tout de suite que tout débat hors-sujet sur la démocratie et la dictature sera censuré) : le modo, il a toujours raison face au membre, et l'admin a toujours raison face au modo. Si vous n'êtes pas content vous contactez un admin, et si l'admin donne raison au modo, vous avez définitivement tort, c'est non négociable.

Donc l'excuse du "le modo l'a fait donc je peux le faire", n'a pas lieu d'être. Ce n'est pas parce qu'une pervenche m'a mis un PV que j'ai le droit de mettre un PV à n'importe qui :lol:

Eléphanteau du PHP | 41 Messages

03 août 2006, 18:00

Merci beaucoup pour votre aide au revoir

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 août 2006, 18:01

Au milieu de ces mises au point, tu as réussi à avoir ta réponse ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 41 Messages

03 août 2006, 21:31

non pas du tout

Mammouth du PHP | 19672 Messages

03 août 2006, 21:44

non pas du tout
Après ma première intervention, tu n'as toi-même pas répondu à mes questions. Ça aurait pu aider à éventuellement t'aiguiller.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 41 Messages

03 août 2006, 22:26

J'ai trouvé un code (PHP soit dit en passant) qui gère cela