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 :

Upload de fichier et unzip


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2015
    Messages : 40
    Points : 37
    Points
    37
    Par défaut Upload de fichier et unzip
    Bonjour a toutes et a tous,

    J'ai un probleme , comme vous vous en doutez .

    J'ai reussi quasi tout ce que je voulais faire mais cependant j'ai des soucis aléatoire.

    J'upload mes fichiers grace a ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form enctype="multipart/form-data" action="saveform.php" method="POST">
        <input type="hidden" name="MAX_FILE_SIZE" value="10000000000" />
        <input type="hidden" name="music" value="1" />
        Send this file: <input name="userfile" type="file" />
        <input type="submit" value="Send File" />
    </form>
    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
     
    if(!empty($_FILES))
    {
      $path = "./upload/";
      $name = "userfile";
      $extractmovies = $fichierconf->get_data("EXTRACTTOMOVIES", "=", 1); // chemin des films
      $extractmusic = $fichierconf->get_data("EXTRACTTOMUSIC", "=", 1); // chemin des musiques
     
      upload($name, $path);
      if (isset($_POST['music']))
        {
          echo $_FILES[$name]['name'] . "<br />";
          unzip($path . $_FILES[$name]['name'], $extractmusic);
        }
    }
    Cela marche bien , cependant des fois le fichier ne s'upload pas , j'ai verifié la taille maximal et ça ne viens pas de ça .
    Je ne comprend pas.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par echo55 Voir le message
    Cela marche bien , cependant des fois le fichier ne s'upload pas , j'ai verifié la taille maximal et ça ne viens pas de ça .
    Je ne comprend pas.
    Il nous faudrait plus de détails. Tu as un message d'erreur ? une page vide ? comment as-tu vérifié que le problème ne vient pas de la taille du fichier ? Est-ce toujours le même fichier qui pose problème ?

    Si besoin il y a un module d'upload ici qui surpasse les configurations serveur.

    Autrement concernant ton code on ne peut rien dire vu qu'on ne voit pas les fonctions que tu utilises...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2015
    Messages : 40
    Points : 37
    Points
    37
    Par défaut
    Je sais que ça viens pas de la taille car certains fichier sont plus petit et pose problème,

    Je n'ai aucun message d'erreur , simplement que mes fichiers des fois ne s'upload pas .

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2015
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2015
    Messages : 40
    Points : 37
    Points
    37
    Par défaut
    J'ai en effet oublié de mettre ma fonction upload:

    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
     
    function upload($name, $uploaddir)
    {
      $uploadfile = $uploaddir . basename($_FILES[$name]['name']);
      echo "<p>";
     
      if (move_uploaded_file($_FILES[$name]['tmp_name'], $uploadfile))
        echo "File is valid, and was successfully uploaded.\n";
     
     else 
      {
        echo "Upload failed";
        echo "</p>";
        echo '<pre>';
        echo 'Here is some more debugging info:';
        print_r($_FILES);
        print "</pre>";
      }
    }

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Tu es certain qu'ils ne sont pas uploadés ? ce pourrait être simplement la fonction unzip que tu emploies à la suite et qui ne fonctionne pas ... ?

    Tu n'a pas répondu à toutes mes questions :
    - Est-ce toujours le même fichier qui pose problème ?
    Il faut savoir si le bug se produit toujours et systématiquement sur les mêmes fichiers, ou si c'est aléatoire.

    Il faut être le plus précis possible. Quand tu dit que certains fichiers ne s'uploadent pas cela veut-il dire que le téléchargement est initialisé et que plus rien ne se passe ? Ou le téléchargement ne s'initialise pas ?

    Tu fais tes essais dans quelles conditions ? Serveur local ou distant ?

    Quelle est la taille de tes fichiers ?

    S'ils sont supérieurs à "post_max_size" les super globales $_FILES et $_POST seront vides, donc tu n'auras pas de message si ton script ne gère pas ce cas de figure.

    Si ce sont de gros fichiers et même si tu es en dessous de la config "post_max_size" du serveur, si ta connexion internet n'est pas très rapide tu peux te heurter à un timeout du serveur qui ne se traduira pas forcément par un message si ton script ne le gère pas. Cela peut provoquer des bug aléatoires puisqu'au final la rapidité du téléchargement est fonction de la rapidité de la connexion et de la disponibilité du serveur distant qui peuvent varier fortement suivant les horaires de connexion etc.

    Bref l'upload de gros fichiers est moins simple qu'il n'y paraît et peut poser des problèmes à différents niveaux... C'est pour cela qu'il faut un maximum de précision dans tes réponses pour le debug.

    A ta place j'essaierais ce module d'upload. Même si au final tu ne l'utilises pas, cela te permettrais de connaître rapidement l'origine de ton problème. Il suffit de décompresser le dossier fourni puis de le poser sur ton serveur et de tester simplement les exemples fournis, donc tu peux le faire en moins de cinq minutes : si ça continue de bugger tu as un problème serveur et ton script n'est pas en cause, si ça ne buggue plus c'est que ton script n'est pas optimisé pour l'upload des gros fichiers.
    Et puis au passage si cela t'intéresse tu auras toutes les infos que tu veux en temps réel et plus encore (progression graphique, temps restant etc. et la possibilité de reprendre un téléchargement interrompu en utilisant la partie automatiquement sauvegardée durant l'upload)

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    Bonjour,

    puisque tu as mit des echo de débogage il serait bien d'en rajouter et de les retourner lorsque cela ne fonctionne pas ...
    De plus, ta fonction upload($name, $uploaddir) devrait au minimum retourner true ou false histoire de ne pas tenter un unzip pour rien.
    $moi= ( !== ) ? : ;

Discussions similaires

  1. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 22h21
  2. Upload de fichier par XMLHTTP
    Par Immobilis dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 17h02
  3. upload de fichier
    Par 120 dans le forum ASP
    Réponses: 16
    Dernier message: 21/06/2004, 12h07
  4. Upload de fichiers sur un ftp
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 20/06/2004, 11h55
  5. Upload de fichiers
    Par GDVL dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2004, 12h44

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