IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Réaliser une progressbar sans APC


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Points : 6
    Points
    6
    Par défaut Réaliser une progressbar sans APC
    Bonjour à tous,

    J'aimerais réaliser une progressbar pour un script d'upload de fichier de mon cru. Les fichiers seront assez lourds (plusieurs centaines de Mo).
    Pour éviter que les visiteurs ferment la page pensant que le script ne marche pas, j'ai pensé à la progressbar.
    Depuis 2 semaines, je fouille internet dans les moindres recoins mais impossible de trouver quoi que ce soit. J'ai lu qu'il fallait de l'ajax ou du jquery pour le faire mais malheureusement je ne connais aucun de ces 2 langages (ou du moins rien pouvant amener à la manipulation d'octet).

    J'aimerais que la progressbar soit en % mais si la chose est impossible ou bien trop compliqué je me contenterais d'une animation signalant que l'upload est fonctionnel.

    Pour conclure, mon hébergeur n'accepte pas APC (ça aurait été trop simple...).

    Merci pour votre aide

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    a part faire une surcouche en flash ou java, sans APC c'est pas possible (en 5.4 si)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Points : 6
    Points
    6
    Par défaut
    C'est bien ce que je pensais
    Y'a t-il un moyen de faire une barre d'activité comme pour http://dhtmlx.com/docs/products/dhtmlxVault/ (il y a la live demo sur cette page, pour voir ce que je veux dire).
    J'ai essayé de télécharger le script pour voir comment c'était fait mais c'est trop "bordélique".

    Merci pour l'aide

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    y'as pas de pourcentage la

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Points : 6
    Points
    6
    Par défaut
    Cf mon premier post:

    Citation Envoyé par sam1212 Voir le message

    J'aimerais que la progressbar soit en % mais si la chose est impossible ou bien trop compliqué je me contenterais d'une animation signalant que l'upload est fonctionnel.
    J'aimerais bien avoir cette animation (ou du même type), je la trouve fonctionnelle.

    Merci

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    si c'est juste ça, au moment de l'upload affiche un gif

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Points : 6
    Points
    6
    Par défaut
    Je ne peux pas, le gif s'affiche à la fin de l'upload
    As-tu besoin de mon script d'upload? Pourrais-tu me montrer où placer le gif?

    Merci.

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par sam1212 Voir le message
    Je ne peux pas, le gif s'affiche à la fin de l'upload
    As-tu besoin de mon script d'upload? Pourrais-tu me montrer où placer le gif?

    Merci.
    affiche le dès que tu soumets le formulaire

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Points : 6
    Points
    6
    Par défaut
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
     
    <html><form enctype="multipart/form-data" action="#" method="post">
    	Transfère le fichier <input type="file" name="monfichier" />
        <input type="submit"/>
    </form></html>
    <?php
     
    if(isset($_FILES['monfichier']))
    {
       if ($_FILES['monfichier']['error'] == 0)
    	{
    		$nomOrigine = $_FILES['monfichier']['name']; 
    		$nomTemp = $_FILES['monfichier']['tmp_name'];
    		$elementsChemin = pathinfo($nomOrigine);
    		$extensionFichier = $elementsChemin['extension'];
    		$tailleFichier = $_FILES['monfichier']['size'];
    		$maxTaille = 209715200;
     
    		$aEviter = array(" - ", "-", " ", "/", "%", "&", "(", ")", "À", "Á", "Â", "Ã", "Ä", "Å", "à", "á", "â", "ã", "
    		ä", "å", "Ç", "ç", "È", "É", "Ê", "Ë", "è", "é", "ê", "ë", "Ì", "Í", "Î", "Ï", "ì", "í", "î", "ï", "Ò", "Ó", "Ô", "Õ", "Ö", "ð", "ò", "ó",	
    		"ô", "õ", "ö", "Ù", "Ú", "Û", "Ü", "ù", "ú", "û", "ü", "Ý", "ý", "ÿ");
     
    		$clean = array ("_", "_", "_", "_", "_", "_", "_", "_", "a", "a", "a" , "a" , "a" , "a" , "a", "a", "a", "a", 
    		"a", "a", "a", "c", "c", "e", "e", "e", "e", "e", "e", "e", "e", "i", "i", "i", "i", "i", "i", "i", "i", "o",
    		"o", "o","o","o","o","o","o","o","o","o", "u", "u", "u", "u", "u", "u", "u", "u", "y", "y","y");
     
    		$nomOriginePropre = str_replace($aEviter, $clean, $nomOrigine);
    		$nomOriginePropre = strtolower($nomOriginePropre);
     
     
    			if (isset($extensionFichier))
    			{
    				$extensionsAutorisees = array("mp4", "avi", "txt") ;
     
    					if(!(in_array($extensionFichier, $extensionsAutorisees)))
    					{
    						echo "<br/>Le fichier n'a pas l'extension attendue";
    					}
     
    					elseif ($tailleFichier > $maxTaille)
    					{
    				echo " <br />max taille atteinte";
    				}
     
     
    			else
    			{
    				chdir('./uploads');
     
    					if(file_exists(getcwd().'\\'.$nomOriginePropre))
    						{
    							$NewoNom = str_replace(".".$extensionFichier,"",$nomOriginePropre).rand().".".$extensionFichier;
    							rename($nomTemp,$NewoNom);
    							if(!move_uploaded_file($NewoNom,getcwd()))
    							{
    								echo "<br/>Le nom du fichier est : ".$NewoNom;
    								echo "<br/>Sa taille est de : ".$tailleFichier. " octets";
    								echo "<br/>Le fichier est dispo dans ce dossier : ".getcwd();
    								echo "<br/>".getcwd().'\\'.$NewoNom;
    							}
    						}
     
    					else { echo "existe pas";
    						rename($nomTemp, $nomOriginePropre);
     
     
    							if (!move_uploaded_file($nomOrigine,getcwd()))
    							{
    								echo "<br/> le nom du fichier est: ".$nomOriginePropre;
    								echo "<br/> Sa taille est de: ".$tailleFichier. "octets";
    								echo "<br />le fichier est dispo dans ce dossier: ".getcwd();
    							}
     
    							else { echo "erreur";}	
    						}
     
     
     
    			}
     
    			}
    	}
     
    	else 
    		{
    		echo "il y a des erreurs";
    		}
     
     
    }
     
    ?>
    J'ai essayé de faire un img src dans le premier isset mais ça ne marche pas.
    Comment remplacer le form par l'image?

    Merci.


    PS: Mieux vaut-il utiliser mon système $aEviter/$clean ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nomOrigine=strtr($nomOrigine,"¿=+-°`)]}{[(#~é&^¨%§‰';,_ ¤²£æ@ÁÀÂÄÃÅÇÐÉÈÊË€ÍÏÎÌÑÓÒÔÖÕÚÙÛÜÝ¥áàâäãåç¢éèêëƒíìîïñðóòôöõúùûüµýÿ",'------------------------------AAAAAAACDEEEEEIIIINOOOOOUUUUYYaaaaaacceeeefiiiinoooooouuuuuyy');
            $nomOrigine = preg_replace('/([^.a-z0-9]+)/i', '-', $nomOrigine);
    Merci.

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    je te conseil de séparer tes fichiers, pour afficher une image tu peux le faire en javascript au moment du submit, pour les caractères du fichier c'est plus simple de vérifier les caractères autorisés que ceux non autorisés, pour le clean t'as pas le faire

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    je te conseil de séparer tes fichiers
    Séparer formulaire/traitement?


    Citation Envoyé par stealth35 Voir le message
    pour afficher une image tu peux le faire en javascript au moment du submit
    ça, je ne sais pas faire

    Citation Envoyé par stealth35 Voir le message
    pour les caractères du fichier c'est plus simple de vérifier les caractères autorisés que ceux non autorisés, pour le clean t'as pas le faire
    Oui mais je ne vais pas bloquer un upload pour un "é", le plus simple est de remplacer par "e" non?

    Merci pour ton aide

  12. #12
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Points : 160
    Points
    160
    Par défaut
    effectivement tu sera obliger de passer par du javascript...

    Au final il faudrait que tu parte un peu sur le même principe que de l'ajax de base... c'est à dire, tu affiche ton gif qui fera office de loader et derrière tu gère ton formulaire, soit en simple, ou pour quelques chose de propre et poussé dans le principe, en ajax...

    Puis une fois ton formulaire correctement soumis, tu actualises ta div pour afficher ce que tu veux qui permettra de signaler que le chargement est terminé... ou tu change de page...

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par sam1212 Voir le message
    Oui mais je ne vais pas bloquer un upload pour un "é", le plus simple est de remplacer par "e" non?

    Merci pour ton aide
    non c'est plus compliqué, autant donné à tes utilisateurs de bonne habitude.

    pour le reste c'est dans les base du javascript, je te conseil d'aller voir des tutos

  14. #14
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 594
    Points
    188 594
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    a part faire une surcouche en flash ou java, sans APC c'est pas possible (en 5.4 si)
    Si, c'est possible, mais avec HTML5 (sans support de beaucoup de navigateurs, en plus) : http://www.w3schools.com/html5/tag_progress.asp. Mais ça nécessite quand même du JS pour la mise à jour de la barre.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  15. #15
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Points : 160
    Points
    160
    Par défaut
    de plus si tu commence à jouer avec le javascript, tu pourra en live vérifier la bonne orthographe, et donc tes caractères autoriser, et dès que l'un ne correspond pas à ton a-z 1-9 tu le signale à coté...

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Ze AzAr Voir le message
    effectivement tu sera obliger de passer par du javascript...

    Au final il faudrait que tu parte un peu sur le même principe que de l'ajax de base... c'est à dire, tu affiche ton gif qui fera office de loader et derrière tu gère ton formulaire, soit en simple, ou pour quelques chose de propre et poussé dans le principe, en ajax...

    Puis une fois ton formulaire correctement soumis, tu actualises ta div pour afficher ce que tu veux qui permettra de signaler que le chargement est terminé... ou tu change de page...
    Juste pour afficher un loader, il faut tout refaire le script en ajax? Je ne comprends pas là.


    @stealth35: as-tu un bon tuto permettant de rajouter mon gif simplement (sans que je doive apprendre le js juste pour rajouter un gif...

    Merci à tous les 2.

    Edit: Je viens de voir le message de dourouc05, je sais qu'il était possible de faire ça en html5 mais vu le peu de navigateur le supportant, je ne vois pas trop l'intérêt (pour l'instant). Mais merci pour ta réponse .

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    Si, c'est possible, mais avec HTML5 (sans support de beaucoup de navigateurs, en plus) : http://www.w3schools.com/html5/tag_progress.asp. Mais ça nécessite quand même du JS pour la mise à jour de la barre.
    c'est juste la balise progress ça, c'est pas uniquement dédié a l'upload de fichier, sinon ou pour l'upload en javascript c'est possible par contre via un formulaire j'ai jamais essayé, en drag and drop ca marche nickel (faut pas que le fichier soit trop gros sinon le navigateur il bouffe)

    EDIT : apres en javascript tu peux aussi checker si la personne quitte la page, et lui mettre une fenêtre pour bien confirmer la fermeture

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    EDIT : apres en javascript tu peux aussi checker si la personne quitte la page, et lui mettre une fenêtre pour bien confirmer la fermeture
    Je tiens à préciser que j'ai du faire 3 lignes de js de toute ma vie donc je ne sais ni rajouter 1 gif quand on envoie un formulaire, ni vérifier le nom du fichier ni encore moins checker si le visiteur quitte la page.

  19. #19
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par sam1212 Voir le message
    Je tiens à préciser que j'ai du faire 3 lignes de js de toute ma vie donc je ne sais pas ni rajouter 1 gif quand on envoie un formulaire, ni vérifier le nom du fichier ni encore moins checker si le visiteur quitte la page.
    Il est toujours temps de s'y mettre

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Points : 6
    Points
    6
    Par défaut
    Pour l'instant, je n'ai pas trop le temps de commencer un nouveau langage, il faut je finisse ce script avant (avec la partie téléchargement sécurisé par la suite).
    Puis-je avoir un tuto ou l'appellation exacte de ce que je dois faire pour afficher mon gif à la place de mon form?

    Merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. [Débutant] téléchargement automatique avec une Progressbar sans bouton
    Par anthodev35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2014, 01h41
  2. Réaliser une IHM attrayante sans faire 10 ans de code
    Par Space23 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/03/2009, 22h55
  3. réaliser une opération sans ouvrir mon executable
    Par law56100 dans le forum WinDev
    Réponses: 2
    Dernier message: 02/07/2008, 10h36
  4. Réaliser une galerie photo automatique sans php
    Par vallica dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/10/2006, 10h57
  5. Réaliser une appli web sans (trop) programmer
    Par Manu751 dans le forum XMLRAD
    Réponses: 3
    Dernier message: 07/09/2006, 23h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo