Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1902 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Upload et barre de progression

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Upload et barre de progression

n°681381
bfjuju
Posté le 23-03-2004 à 14:37:07  profilanswer
 

Bonjour,
 
Je fais un site en php. Jusque la tout va bien. Dans ce site je permet au gens d'uploader leurs videos via une page ou la personne choisi la video à envoyer et qq infos supplementaire qui seront stockés en BDD.  
 
Mon probleme apparait quand la personne upload le fichier car son browser se bloque pdt le temps ou la video est envoyé. Dc je cherche une solution de type barre de progression (mais j'y crois pas trop).
Sinon peut on imaginer de faire confirmer l'envoi du script par une popup et lorsque l'utilisateur valide, seul la popup reste bloquée?
Je sais c'est pas tres elegant.
 
Si qq'un a une meilleur idées elle est la bienvenue.
 
Je cherche egalement du coté de la librairie PEAR HTML_Progress mais pour l'instant sans resultat.
 
Merci

mood
Publicité
Posté le 23-03-2004 à 14:37:07  profilanswer
 

n°681394
jolly
Posté le 23-03-2004 à 14:48:39  profilanswer
 

c pas en PHP que tu fera ca !  
php = execution serveur !
 
par contre t au courant des limites de teilles de fichier pour envoyer des Video ?  
regarde aussi du cote des timeOut en html car ca va jouer aussi !

n°681400
bfjuju
Posté le 23-03-2004 à 14:52:18  profilanswer
 

Ok c'est executé coté serveur. Oui au niveau serveur tout est a été parametrer au niveau du script. Les fichiers passent bien. C'est juste que la fenetre est bloquée pendant le temps du transfert dde fichier donc c'est pas top.

n°681468
jagstang
Pa Capona ಠ_ಠ
Posté le 23-03-2004 à 15:28:44  profilanswer
 

le navigateur n'est pas "bloqué", il envoie le fichier... [:spamafote]
 
Y'a pas de solution élégante à ton problème. Mais pour faire ça aux problème de timeout, pas le choix de mettre en place un serveur FTP avec des droits
 
parce qu'un vidéo de 50Mo en moins de 30 sec c'est pas facile


Message édité par jagstang le 23-03-2004 à 15:28:56
n°681515
Mara's dad
Yes I can !
Posté le 23-03-2004 à 15:55:21  profilanswer
 

1- Ne pas confondre 30 seconde de temps machine et 30 de temps de transfert.
2- Barre de progression possible avec applet java ou page flash voir activex...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°681523
Mara's dad
Yes I can !
Posté le 23-03-2004 à 15:58:10  profilanswer
 

Exemple : http://www.radinks.com/upload/
2ème lien sur http://www.google.com/search?hl=en [...] et&spell=1


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°681571
bfjuju
Posté le 23-03-2004 à 16:16:13  profilanswer
 

JagStang a écrit :

le navigateur n'est pas "bloqué", il envoie le fichier... [:spamafote]
 
Y'a pas de solution élégante à ton problème. Mais pour faire ça aux problème de timeout, pas le choix de mettre en place un serveur FTP avec des droits
 
parce qu'un vidéo de 50Mo en moins de 30 sec c'est pas facile


 
D'accord avec toi le navigateur n'est pas bloqué mais pour l'utilisateur lambda le navigateur "semble" bloqué.
Sinon pour les 30 sec, tu peux le modifier dans le php.ini et dans le script via set_time_limit dc c'est pas un probleme. De plus, je suis sur un reseau 100Mb donc les videos sont tout meme vite transferé (A part quand tu envoi un avi de 300Mo).
 
En tout cas merci pour votre aide

n°681598
lorill
Posté le 23-03-2004 à 16:33:59  profilanswer
 

bah c'est super simple, tu mets une barre de progression apres validation du formulaire, elle restera jusqu'a ce que la page change...
 

Code :
  1. /******************************************************************************
  2.     Composant de barre d'attente - jsWait
  3.     Vincent Fiack - 18/03/2003
  4. *******************************************************************************/
  5. document.writeln("<div id=\"jsWaitMessage\" style=\"font-family: Verdana; font-size: 10px; text-align: center; padding: 3px; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; z-index:3\"></div>" );
  6. document.writeln("<div id=\"jsWaitArea\" style=\"display: none; position: absolute; left: 30%; top: 40%; height: 20px; width: 300px; border: 1px black solid; background: #FFFFAA;z-index:2\">" );
  7. document.writeln("<div id=\"jsWaitBlock\" style=\"position: relative; left: 0px; height: 20px; width: 50px; background: blue;z-index:2\"></div>" );
  8. document.writeln("</div>" );
  9. jsWait_defaultInstance = null;
  10. function showWait(message)
  11. {
  12.   jsWait_defaultInstance = new jsWait('jsWait_defaultInstance', message);
  13.   jsWait_defaultInstance.show();
  14. }
  15. // -------------------------------------------
  16. //        Définition du type jsWait
  17. // -------------------------------------------
  18. /**
  19. * Constructeur
  20. * @param name le nom du composant
  21. * @param message le message a afficher
  22. */
  23. function jsWait(name, message)
  24. {
  25.   this.name = name;
  26.   this.message = message;
  27.   this.speed = 10;
  28.   this.direction = 2;
  29.   this.waiting = false;
  30.   this.divMessage = document.getElementById("jsWaitMessage" );
  31.   this.divArea = document.getElementById("jsWaitArea" );
  32.   this.divBlock = document.getElementById("jsWaitBlock" );
  33. }
  34. // -------------------------------------------
  35. //        Méthodes publiques
  36. // -------------------------------------------
  37. jsWait.prototype.show = function()
  38. {
  39.   this.divMessage.innerHTML = this.message;
  40.   this.divMessage.style.display = "block";
  41.   this.divArea.style.display = "block";
  42.   this.divBlock.style.display = "block";
  43.   this.divBlock.style.left = "0px";
  44.   this.waiting = true;
  45.  
  46.   this.loop();
  47. }
  48. jsWait.prototype.setMessage = function(message)
  49. {
  50.   this.message = message;
  51.   this.divMessage.innerHTML = this.message;
  52. }
  53. jsWait.prototype.stop = function()
  54. {
  55.   this.waiting = false;
  56.   this.divMessage.style.display = "none";
  57.   this.divArea.style.display = "none";
  58.   this.divBlock.style.display = "none";
  59. }
  60. // -------------------------------------------
  61. //        Méthodes privées
  62. // -------------------------------------------
  63. jsWait.prototype.loop = function()
  64. {
  65.   myLeft = this.divBlock.style.left;
  66.   myLeft = myLeft.substring(0, myLeft.length-2);
  67.   intLeft = parseInt(myLeft);
  68.   if(intLeft >= 250)
  69.     this.direction = -2;
  70.   if(intLeft <= 0)
  71.     this.direction = 2;
  72.   myLeft = "" + (intLeft+this.direction) + "px";
  73.   this.divBlock.style.left = myLeft;
  74.   if(this.waiting)
  75.     setTimeout(this.name + ".loop()", this.speed);
  76. }


 
inclus ce js dans ta page et appelle showWait('upload en cours') a la validation du formulaire...

n°681628
Mara's dad
Yes I can !
Posté le 23-03-2004 à 16:49:56  profilanswer
 

C'est pas une barre de progression ça, c'est une barre d'activité...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°681630
uriel
blood pt.2
Posté le 23-03-2004 à 16:50:47  profilanswer
 

Mara's dad a écrit :

C'est pas une barre de progression ça, c'est une barre d'activité...


 
oui mais le client le sait pas, c'est une feinte pour qu'il attende  :o


---------------
IVG en france
mood
Publicité
Posté le 23-03-2004 à 16:50:47  profilanswer
 

n°681808
bfjuju
Posté le 23-03-2004 à 19:01:12  profilanswer
 

Merci bcps. J'ai fait une barre d'activité et c'est nikel. Merci a tous

n°681825
the real m​oins moins
Posté le 23-03-2004 à 19:39:06  profilanswer
 

en meme temps, suffit de regarder dans le coin du browser pour avoir une barre de progression [:spamafote]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Upload et barre de progression

 

Sujets relatifs
[PHP] [resolu] retrouver la date du premier jour d 1 num de semaine[PHP] checkbox grisée
Irc et Php ?[PHP] afficher la page de l erreur 403
[PHP] ereg et pattern[php] qq question sur php (voir fin topic)
[PHP] Remplacer dans un texte des smileys par des tags <img ... /> ?[PHP] tri de tableaux imbriqués
CONNEXION PHP - ORACLE (base de données n'est pas sur serveur apache)[PHP] Upload de fichiers avec barre de progression...
Plus de sujets relatifs à : [PHP] Upload et barre de progression


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR