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écupérer le path d'un fichier par formuaire ?


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 49
    Points : 39
    Points
    39
    Par défaut Récupérer le path d'un fichier par formuaire ?
    Bonjour à tous,

    désolé d'encore vous embêter, mais bon quand on débute dans le domaine, on a forcément plein de petites questions !!

    Voilà, j'ai un formulaire de type "file" qui doit ouvrir un fichier et par la suite, j'aimerai pourvoir lire ce fichier pour y insérer les données dans une table de ma DB. Or, je pensais tout simplement récupérer le path saisie par mon formulaire, mais visiblement, je ne récupère que le nom du fichier ouvert.

    il faut savoir que le fichier est sur un ordi, l'utilisateur passe par le site, ouvre le fichier présent sur son ordinateur et de là, l'ajout se fait dans la DB.

    Mon formulaire est le suivant :
    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
     
    <?php
     
    echo '<h1>Ajout à partir d\'un fichier .csv</h1>';
    echo '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
     ?>
    <p>Pour ajouter un ou plusieurs articles dans la base de données à partir d'un fichier .csv, veuillez parcourir les dossiers de votre ordinateur et selectionnez le fichier à utiliser. Attention, le fichier ne peut être qu'un .csv :</p>
    <table border="0" cellspacing="0" cellpadding="3">
    	<tr>
    		<td>Emplacement du fichier :</td> 
    		<td> <input type="file" name="path_fichier"> </td> 
    	</tr>
    	<tr>
    		<td></td>  
    		<td> <input type="submit" name="submit" value="Valider"> </td> 
    	</tr>
    </table>
    <input type="hidden" name="preAjoutFichier" value="preAjoutFichier">  
    </form>
    Je pensais qu'en faisant un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo'<p>'.$_POST["path_fichier"].'</p>';
    j'obtiendrai le path du fichier mais non, seulement le nom du fichier.

    Comment dois-je faire pour obtenir le path complet ?! Et quand bien même j'obtiens le path, dois-je passer par celui pour récupérer le fichier ou bien suis-je parti sur une méthde totallement fausse ?!

  2. #2
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    quand tu utilises un champ de type file, il faut utiliser la variable $_file au lieu de $_post.
    Par contre je ne suis pas sûr que tu puisses récupérer l'ensemble du chemin (genre : /home/yekhen/fichier.txt).
    Julien

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 49
    Points : 39
    Points
    39
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo'<p>'.$_FILE["path_fichier"].'</p>';
    Cette ligne ne m'affiche rien du tout alors que le $_POST m'afiche le nom du fichier.

    Pour mettre a jour une DB à partir d'un fichier qui n'est pas sur le serveur, j'emploi une méthode qui fonctionne au moins ?! Parce que bon si c'ets pas possible autant que j'évites de m'empetrer un peu plus lol :p

  4. #4
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    il faut préciser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form enctype="multipart/form-data" method="post" action="page.php">
    et puis pour avoir un résultat, utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_file[path_file][name]
    y'a pas mal de truc la dessus, tu devrais facilement trouver des compléments d'infos.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 49
    Points : 39
    Points
    39
    Par défaut
    Oki, je viens de trouver une page qui explique le fonctionnement, je regarde

  6. #6
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    Citation Envoyé par Yekhen
    Pour mettre a jour une DB à partir d'un fichier qui n'est pas sur le serveur,
    En fait, ton fichier est bien envoyé sur le serveur. C'est un fichier temporaire jusqu'à ce que tu l'ai enregistré. Tu y as accès en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $_file["path_fichier"][tmp_name]
    .
    Je pense que tu devrais l'enregistrer. Insérer les infos dans ta base de données et ensuite effacer le fichier.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 49
    Points : 39
    Points
    39
    Par défaut
    C'est bon, j'ai contourné le problème, j'utilise un fichier temporaire que je laisse sur le serveur, je copie dedans les données du fichier choisie par l'utilisateur et ensuite je fais la mise a jour de ma BD a partir de ce fichier.

    Je ne sais pas si c'est cela que tu voulais dire mais bon, en tout cas ça fonctionne.

    merci de ton aide et bonne soirée à toi

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 11/08/2012, 18h01
  2. [Débutant] récupérer le path d'un fichier à l'ouverture d'un process
    Par Hoplite-Studio dans le forum C#
    Réponses: 7
    Dernier message: 18/07/2012, 10h43
  3. Récupérer le path de mon fichier .jar
    Par Geoffrey49000 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 22/07/2011, 16h51
  4. Comment récupérer le path d'un fichier
    Par nhunhu dans le forum Développement Web en Java
    Réponses: 5
    Dernier message: 12/02/2010, 14h29
  5. Récupérer des accents dans un fichier par getline
    Par wistiti1234 dans le forum C++
    Réponses: 48
    Dernier message: 09/06/2008, 14h53

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