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.

benzor (admin fanatique lvl 1 - )
46 ans (Chambéry)
ben@piregwan.com
http://www.benzor.com

On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort. Coluche





  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+

Steve Austin (guest star fanatique lvl 1 - )
49 ans (Marseilleeuh !)
kohai@kohaistyle.com
http://www.kohaistyle.com

Hein ?? koi ??? ah ca ... ouais bof ! ( pffff ... non mais vraiment ... )





  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ô...

benzor (admin fanatique lvl 1 - )
46 ans (Chambéry)
ben@piregwan.com
http://www.benzor.com

On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort. Coluche





  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 ....


Steve Austin (guest star fanatique lvl 1 - )
49 ans (Marseilleeuh !)
kohai@kohaistyle.com
http://www.kohaistyle.com

Hein ?? koi ??? ah ca ... ouais bof ! ( pffff ... non mais vraiment ... )





  25 10 2001 à 08:50


une question: vous voulez utiliser quel protocole ???

passer par HTTP ou FTP ???

hein ?

Steve Austin (guest star fanatique lvl 1 - )
49 ans (Marseilleeuh !)
kohai@kohaistyle.com
http://www.kohaistyle.com

Hein ?? koi ??? ah ca ... ouais bof ! ( pffff ... non mais vraiment ... )





  25 10 2001 à 09:01


FTP M'sieur !

benzor (admin fanatique lvl 1 - )
46 ans (Chambéry)
ben@piregwan.com
http://www.benzor.com

On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort. Coluche





  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

erk (guest star lvl 1 - )
49 ans (Velizy (78))
erik@neokulture.com | 3058681
http://www.neokulture.com

cet espace est à vendre ! mise à prix à 108€





  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 !

Steve Austin (guest star fanatique lvl 1 - )
49 ans (Marseilleeuh !)
kohai@kohaistyle.com
http://www.kohaistyle.com

Hein ?? koi ??? ah ca ... ouais bof ! ( pffff ... non mais vraiment ... )





  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.


.:gug:. (membre - )
47 ans (paris)
gug05@yahoo.fr

cet espace est à vendre ! mise à prix à 22€





  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+

Steve Austin (guest star fanatique lvl 1 - )
49 ans (Marseilleeuh !)
kohai@kohaistyle.com
http://www.kohaistyle.com

Hein ?? koi ??? ah ca ... ouais bof ! ( pffff ... non mais vraiment ... )





  25 10 2001 à 13:41


Rhah .....

Merde, y'a des fois ou ca foire ! Pfff ... tjrs des failles ...

Grrr ...

Steve Austin (guest star fanatique lvl 1 - )
49 ans (Marseilleeuh !)
kohai@kohaistyle.com
http://www.kohaistyle.com

Hein ?? koi ??? ah ca ... ouais bof ! ( pffff ... non mais vraiment ... )





  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 ???

erk (guest star lvl 1 - )
49 ans (Velizy (78))
erik@neokulture.com | 3058681
http://www.neokulture.com

cet espace est à vendre ! mise à prix à 108€





  26 10 2001 à 07:41


ok, je t'envoie ca !!!!!

Steve Austin (guest star fanatique lvl 1 - )
49 ans (Marseilleeuh !)
kohai@kohaistyle.com
http://www.kohaistyle.com

Hein ?? koi ??? ah ca ... ouais bof ! ( pffff ... non mais vraiment ... )





  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+

piregwan (agent mad fanatique lvl 1 - )
48 ans (chamb�ry, 73)
krakoukas@piregwan-genesis.com | 91327470
http://www.piregwan-genesis.com

" s'il vous plait mademoiselle, j'aurais voulu prendre une leçon particulière avec anne laurencin " JCD





  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...

benzor (admin fanatique lvl 1 - )
46 ans (Chambéry)
ben@piregwan.com
http://www.benzor.com

On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort. Coluche


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.