25 10 2001 à 07:16 |
Bonjour, Je voudrais savoir si il est possible de faire afficher une barre de défilement durant l'upload d'un fichier sur un serveur en php ? Au bouleau nous dévellopons une GDI et les fichiers amenés à être transférés sont assez lourd (3 MO)... On voudrait que le client ait une indication de l'avancement de son upload. Help me please !! Merci. |
|
25 10 2001 à 07:54 |
pas con comme idée ... j'vais y réflêchir ... Mais je pense pas qu'en PHP pur, ce soit faisable ... ( j'vois de fonction directe qui permette de trouver le taux de transfert du systeme-client). Faudrait voir avec un CGI en PERL, p'tet .... Enfin, je part y réflêchir dans ma cuisine, en sirotant un THé !!!!! a+ |
|
25 10 2001 à 08:00 |
Ouaip... ca me semble chaud en php... mais sinon pour faire plus simple, au moin un truc style : des qu'on submit l'upload on ouvre une popup avec un évenement onsubmit, dans la popup y'a style un gif animé "upload en cours" et des que l'upload est terminé la popup se ferme. J'ai essayé avec la fonction is_uploaded_file() en php mais ma popup se ferme pas... J'comprends pô... |
|
25 10 2001 à 08:44 |
Le truc, c'est que en pistant la taille du fichier sur le serveur, c'est faisable: le probleme, c'est que tant que le fichier est pas completement UPLOADER, je pense que la fonction 'filesize()' va retourner 0. Faut tester .... |
|
25 10 2001 à 08:50 |
une question: vous voulez utiliser quel protocole ??? passer par HTTP ou FTP ??? hein ? |
|
25 10 2001 à 09:01 |
FTP M'sieur ! |
|
25 10 2001 à 09:48 |
Pour filesize : il faut que le fichier soit sur le serveur Ben : pour ton popup qui se ferme pas, il faut recharger le popup si tu veux pouvoir verifier si le fichier a bien été UL. seul javascript est dynamique coté client... j'ai déja vu des barres de défil en js mais pas pour des UL... vais voir ce que je peux trouver Dans le pire des cas, il faudrait que le client entre manuellement le poids de fichier dans le form d'UL |
|
25 10 2001 à 09:58 |
attends ... j'y suis presque !! Le probleme, c'est que en faisant un 'content-refresh', ben le contenu de ma pop-up change pas ( doit etre dans le cache du nav. !!!!) Chiotte ! |
|
25 10 2001 à 11:44 |
contre le cache utilise ca : <? header ("Pragma: no-cache"); header ("Cache-Control: no-cache, must-revalidate, max_age=0"); header ("Expires: 0"); ?> tout en haut de ta page. |
|
25 10 2001 à 12:00 |
ouips .... ca y est !!! J'ai résolu le probleme en faisant un 'reload' .... BenZor, j'te mail mon exemple en ligne et le script ! a+ |
|
25 10 2001 à 13:41 |
Rhah ..... Merde, y'a des fois ou ca foire ! Pfff ... tjrs des failles ... Grrr ... |
|
25 10 2001 à 23:01 |
Si ton popup a des frames : parent.nomdelapopup.window.reload() si pas de frames : self.window.reload() le truc de gug est top moumoute ! connaissait pas je peux voir le script ??? |
|
26 10 2001 à 07:41 |
ok, je t'envoie ca !!!!! |
|
26 10 2001 à 09:02 |
la fonction filesize() (de meme que GetImageSize() qui fournit d'autres infos pertinentes) est tout a fait fonctionnelle, meme sur un fichier local, pas encore uploadé. donc avant l'upload ( ton fameux copy($source,$detination) ) tu connais déjà la taille du fichier et avec une estimation du taux de transfert tu peux évaluer le temps d'upload. il te reste a concevoir une barre de progression en JS . d'autre part (rien a voir), pour kohai : quel que soit le contenu de ton content-refresh, si tu fais une redirection en php avec header(), la page ne sera pas réactualisée si elle était dans le cache. solution : ajoute en fin d'url de redirection un parametre aléatoire, par exemple : random=time(); header("Location: index.php3?random=$random"); j'utilise ce truc barbare pour rafraichir les pages de login/logout sur http://www.piregwan.com/profil2 http://www.piregwan.com/profil2 . la valeur random dans l'url sert juste a rafraichir les pages. a+ |
|
26 10 2001 à 09:14 |
Je suis pas d'accord là : C'est justement l'estimation du temps d'upload mon problême : je connais la bande passante du serveur (1 MO/S) mais pas la bande passante de l'utilisateur ... T'immagine la différence entre un utilisateur qui upload 3 MO en ADSL et un autre en RTC ?? Ce qu'il me faudrait c'est une sorte d'accusé de réception du serveur... parceque la barre de défilement je pense que ce n'est pas possible... mais au moin un 'transfert en cours' qui s'arrête quand le serveur a réceptionné la totalité du fichier. D'ailleur il me semble que le script de kohai fonctionne. Il faut que je teste mieux... |
|
Pour répondre à ce sujet (et notifier automatiquement son auteur), cliquez sur le bouton REPONDRE A CE SUJET. Si vous voulez en plus avertir de votre réponse une personne qui a participé à ce sujet, cliquez sur le bouton en face de son intervention. Enfin si vous voulez inviter quelqu'un à réagir, utilisez les appeaux ci-dessous. Seuls les membres logués peuvent utiliser les appeaux et seuls les membres actifs peuvent être appeautés ^^. Bonne notification ! Vous n'êtes pas membre ou vous n'êtes pas logué(e) ou les appeaux sont désactivés dans votre profil. Vous ne pouvez pas utiliser les appeaux. |