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 :

Barre de progression php


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Barre de progression php
    Bonjour,

    Dans le cadre d'un stage, je réalise un site web en php permettant à l'utilisateur d'uploader son fichier sur le serveur local de l'entreprise. L'upload ftp fonctionne et j'arrive même à récuperer le pourcentage de fichier uploadé mais j'aimerais afficher une barre de progression lorsqu'il upload le fichier.

    Comment faire ?

    Je travaille sous PHP 5.1.6 (extension APC non possible).

    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
    $size_ftp = sprintf("%u",ftp_size($ftp, $directory_include.'/'.$file)); //je récupère la taille du fichier
     
    $ret = ftp_nb_get($ftp,$local, $directory_include.'/'.$file, FTP_BINARY);  
    $size_local = filesize($local);
    while ($ret == FTP_MOREDATA && $stop == 0){
           clearstatcache();
           $size_local =filesize('$local');                                
           $size_percent = ($size_local / $size_ftp) * 100;
           $ret = ftp_nb_continue($ftp);
    }
    if ($ret != FTP_FINISHED) {
        echo "There was an error downloading the file...";
    }

    Merci d'avance,

    Cordialement

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par Sohhf Voir le message
    Je travaille sous PHP 5.1.6.
    Ouch !!!
    Date de publication : 24 août 2006 !
    C'est abusé quand même...

    Pour la barre de progression, tu peux la ranger dessous par exemple dans un <div></div> et avec un timer js, tu joues sur le rendu à la progression de l'upload (width: par exemple).

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Merci pour votre aide.
    Malheuresement je suis en stage et donc je dois faire avec les moyens du bord

    Concernant votre solution, l'upload se fesant dans le while, il faudrait que la barre de progression soit crée et incrémenté dans cette boucle ?

    Cordialement,

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Non,

    Le suivi de la progression doit être fait en javascript côté client. Le client envoie périodiquement une requête au serveur pour savoir quelle quantité d'octets a été transférée et met à jour la barre de progression en conséquence.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    D'accord donc je dois changer mon code.

    Mais comment suivre un upload ftp en javascript étant donnée que l'upload est réalisé en php ?

    Je precise, j'upload via ftp grâce à la fonction ftp_nb_get et j'utilise un while qui me permet d'effectuer des traitements tant que l'upload n'est pas terminé. Ainsi, dans ce while, je peux récupérer dynamiquement la taille du fichier sur le serveur local ce qui correspond au nombre d'octet télechargé.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/02/2014, 13h27
  2. Barre de progression upload php
    Par samuel4256 dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2010, 17h49
  3. Barre de progression qui execute 9 script php
    Par yasen77 dans le forum Flash/Flex
    Réponses: 0
    Dernier message: 14/09/2009, 16h54
  4. [PHP-JS] Probleme avec ma barre de progression sous IE
    Par gannher dans le forum Langage
    Réponses: 1
    Dernier message: 08/10/2007, 11h32
  5. [PHP-JS] barre de progression
    Par lodan dans le forum Langage
    Réponses: 2
    Dernier message: 28/10/2006, 21h01

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