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 :

AJouter un paramètre à un nom de fichier uploadé.


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2010
    Messages : 52
    Par défaut AJouter un paramètre à un nom de fichier uploadé.
    Bonjour,

    Je souhaite ajouter un paramètre au nom d'un fichier uploadé.
    Je vais tenter d'être clair :


    J'ai mon formulaire d'upload de fichier qui permet d'envoyer le fichier sur le serveur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST" id="myForm" enctype="multipart/form-data">
       <input type="hidden" value="myForm"  name="<?=ini_get("session.upload_progress.name")?>" />
    <label for="userfile">Choisir un fichier :</label>  
       <input type="file" name="userfile" id="userfile" required />
       <input type="submit" value="Démarrer l'envoi de votre fichier" />
    </form>

    Je déclare mon dossier de destination ainsi que le nom du fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $target_folder = "dossierdestination/";
    $file_name = $_FILES["userfile"]['name'];

    Et c'est dans le nom du fichier qui est envoyé sur le serveur que j'aimerai ajouter un paramètre
    Pour l'exemple, j'ajoute le paramètre : $id

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file_name = $id."-".$file_name;
    Et donc mon but est lorsque j'appelle la page : formulaire.php?id=123
    j'upload mon fichier à partir de cette page
    et en retour sur le serveur dans le dossier : /dossierdestination/
    je voudrais retrouver : 123-monfichier.jpg

    Mais le problème, c'est que le paramètre n'est pas pris en compte !
    Je me retrouve systèmatiquement avec un fichier sans le paramètre id
    Pour l'exemple, j'obtiens ceci : -monfichier.jpg

    Merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Débogage de base :
    • quand et où est défini $id ?
    • As-tu vérifié sa valeur ?


    N.B. Evite la notation <?= : elle suppose que short_open_tag soit activé. Ce qui n'est pas le cas "par défaut".

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2010
    Messages : 52
    Par défaut
    Bonjour,

    Pour le moment je me contente d'envoyer la variable id via l'url, pour des raisons de test.

    formulaire.php?id=123

    ce qui signifie que cette variable est bien déclarée au moment du chargement de la page, et si je fais un simple echo, je retrouve bien son contenu : 123

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cdossert Voir le message
    Je me retrouve systèmatiquement avec un fichier sans le paramètre id
    Pour l'exemple, j'obtiens ceci : -monfichier.jpg
    Ca prouve bien que non.

    Et que donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $file_name = $id."-".$file_name;
    echo $file_name;
    ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2010
    Messages : 52
    Par défaut
    La page ne se recharge pas du fait que ce ne soit pas un formulaire d'envoi de données, mais un formulaire d'envoi de fichier.
    et du coup je ne peux pas récupérer $file_name via un echo

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2010
    Messages : 52
    Par défaut
    Ce qui est délirant c'est si je lui ajoute par exemple une fonction date :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file_name = date('DMY')."_".$file_name;

    il me retourne bien un fichier qui se nomme :

    SatFeb2014_monfichier.jpg

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

Discussions similaires

  1. ajouter un numéro au nom du fichier
    Par nancy maman dans le forum Général Python
    Réponses: 9
    Dernier message: 12/04/2011, 09h11
  2. Réponses: 4
    Dernier message: 08/02/2010, 16h55
  3. [servlet, Tomcat] encodage de nom de fichier uploadé
    Par waeselynck.raphael dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/10/2009, 14h06
  4. Réponses: 4
    Dernier message: 02/08/2009, 16h21
  5. [log4j] Ajouter la date au nom du fichier
    Par n@n¤u dans le forum Logging
    Réponses: 5
    Dernier message: 09/01/2008, 22h29

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