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é et déplacer un fichier dans un dossier


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut Uploadé et déplacer un fichier dans un dossier
    Bonjour à tous,

    Encore débutant en PHP, je voudrais savoir comment uploadé un fichier et déplacer dans un dossier.
    Donc dans le dossier wamp | www | j'ai crée un dossier exemple, j'ai crée un fichier index.php et j'ai crée un dossier files

    J'ai crée mon formulaire et j'ai crée une table files dans le phpmyadmin

    Voici un petit aperçu du formulaire...



    Là où je bloque c'est ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $file_tmp_name = $_FILES['fichier']['tmp_name'];
             $file_dest = 'files/' .$file_name;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if(move_uploaded_file($file_tmp_name, $file_dest)){
    Je ne sais pas comment je dois mettre le chemin de destination du fichier, dans ces bouts de codes...

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as déjà renseigné le chemin de destination donc quel est ton problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu as déjà renseigné le chemin de destination donc quel est ton problème ?
    Le fichier n'apparait pas dans le dossier "files" , je ne comprends pas pourquoi ?

    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
    <?php    
        if(!empty($_FILES)) {
            $file_name = $_FILES['fichier']['name'];
            $file_extension = strrchr($file_name, "."); 
     
             $file_tmp_name = $_FILES['fichier']['tmp_name'];
             $file_dest = 'files/' .$file_name;
             //'files/' .$file_name;
             $extension_autorisees = array('.pdf', '.PDF');
     
             if(in_array($file_extension, $extension_autorisees)){
               if(move_uploaded_file($file_tmp_name, $file_dest)){
                   echo 'Fichier envoyé avec succès';
                } else {
                    echo "Une erreur est survenue lors de l'envoie du fichier";
               }
             } else {
                 echo "Seul les fichiers PDF sont autorisées";
     
          }  
        } 
    ?>
     
     
    <!doctype html>
    <html>
        <head>
            <title>Upload  de fichier PDF</title>
            <meta charset="UTF-8" />
        </head>
        <body>
            <h1>Uploader un fichier PDF</h1>
     
            <form method="POST" enctype="multipart/form-data">   
                <input type="file" name="fichier" /> <br/> 
                <input type="submit" value="Envoyer le fichier" />
            </form>    
     
        </body>
    </html>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et tu obtiens "Fichier envoyé avec succès" ?
    Fais un effort pour décrire tes problèmes et tes résultats.

    Ton code tel quel fonctionne. Tu as peut être un problème de droits sur ton repertoire "files".
    Veuille au passage à afficher toutes les erreurs PHP quand tu developpes.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Et tu obtiens "Fichier envoyé avec succès" ?
    Fais un effort pour décrire tes problèmes et tes résultats.

    Ton code tel quel fonctionne. Tu as peut être un problème de droits sur ton repertoire "files".
    Veuille au passage à afficher toutes les erreurs PHP quand tu developpes.
    Oui, excuse-moi, j'aimerais uploadé uniquement des fichiers PDF/pdf dans mon repertoire files, mon premier problème c'est que je n'obtiens pas "fichier envoyé avec succès" lorsque j'uploade un fichier pdf, il ne se passe rien du tout...

    Je désire uploadé uniquement des fichiers pdf, donc une image ne fonctionnera pas il devra m'afficher Seul les fichiers PDF sont autorisées , ça a l'air de fonctionné pour ce point là.



    Merci pour votre aide

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et donc quand tu envoies un pdf tu obtiens quoi à l'affichage ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Et donc quand tu envoies un pdf tu obtiens quoi à l'affichage ?
    Il ne se passe rien


  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et bien il faut debuguer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error_reporting(E_ALL);
    var_dump($_FILES);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    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
    Salut,

    Si tu veux un module d'upload prêt à l'emploi tu peux regarder ici.

    Faire un upload en php est simple sur le principe, mais si l'on veut quelque chose de plus puissant et convivial pour le visiteur cela devient vite beaucoup plus compliqué :
    - Plus puissant car un upload classique va se heurter aux configurations "upload_max_filesize" et "post_max_size" du serveur et ainsi interdire la possibilité d'uploader des fichiers plus gros.
    - Plus convivial car pour afficher par exemple la progression du fichier ou le temps restant il faudra rajouter une couche de javascript. De même il est rageant, après par exemple 15 minutes de téléchargement, de devoir reprendre tout à zéro en cas d'interruption involontaire du téléchargement.

    Ce module répond à toutes ces problématiques et bien d'autres, il y a aussi des exemples de redimensionnement d'image et de crop. Tous les exemples sont fonctionnels de même qu'un exemple customisé.

    Après il faut bien le considérer comme un outil, pas comme un tuto. Un maximum de fonctionnalités sont disponibles pour le rendre facilement utilisable pour les débutants mais le code interne n'est pas conçu comme un support de démonstration.

    Si donc tu veux approfondir tes connaissances et poursuivre sur la "longue" - comme déjà dit "longue" dès que l'on s'éloigne du minimum basique et austère - marche de la construction d'un module d'upload, il faut continuer à suivre les conseils de sabotage.

    Si par contre la connaissance du code spécifique d'un upload n'est pas ton objectif premier mais que tu souhaites quelque chose de prêt à l'emploi et évolutif, ce module peut te faire gagner beaucoup de temps.

    Je précise "spécifique", car c'est un peu comme pour envoyer un mail en php, cela paraît simple au début mais dès que l'on veut un maximum d'efficacité, le temps peut tourner très vite à l'orage. En même temps ce sont des codes spécifiques et l'on apprend rien qui sera indispensable par la suite, en d'autres termes ce ne sont pas des prérequis indispensables pour continuer à apprendre le php.

  10. #10
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Bonsoir à tous,

    Merci pour votre aide, visiblement mon code est bon il n'y a pas de blème, je viens de remarquer un truc étrange, il y a certain fichier pdf qui sont uploadé d'autres pas, à mon avis se sont les fichiers pdf que j'ai téléchargé qui plante, peut-être qu'ils ont été convertis en .pdf ?

    Voici la preuve en image


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Uploader un fichier dans un dossier en passant par la BDD
    Par lizeal dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/02/2014, 10h33
  2. FTPClient: Déplacer un fichier dans un autre dossier du FTP
    Par thebestfriend dans le forum Général Java
    Réponses: 2
    Dernier message: 12/07/2011, 15h01
  3. [Toutes versions] Déplacer fichier dans un dossier en fonction du nom
    Par asengs dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 08/03/2011, 16h50
  4. [Upload] Upload de fichier dans nouveau dossier
    Par ShaVo dans le forum Langage
    Réponses: 3
    Dernier message: 13/11/2006, 20h20
  5. [Upload] upload de fichier dans un dossier creer en ligne
    Par jeanfrancois dans le forum Langage
    Réponses: 1
    Dernier message: 20/03/2006, 14h09

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