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

  1. #1
    Membre du Club
    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
    Points : 44
    Points
    44
    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 du Club
    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
    Points : 44
    Points
    44
    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 du Club
    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
    Points : 44
    Points
    44
    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 du Club
    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
    Points : 44
    Points
    44
    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

  7. #7
    Invité
    Invité(e)
    Par défaut
    Ca n'a rien de délirant.
    Mais vu que tu ne montres pas comment tu traites le formulaire... (ajax ? )... difficle à dire...

    Il est clair que "id" n'est pas transmis dans (ou récupéré par) la page de traitement.
    Où ? quand ? comment ? pourquoi ? Mystère...

  8. #8
    Membre du Club
    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
    Points : 44
    Points
    44
    Par défaut
    bon je crois que je vais laisser tomber et tenter de trouver une autre solution.

    Merci à toi

  9. #9
    Membre du Club
    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
    Points : 44
    Points
    44
    Par défaut
    Ca y est : j'ai trouvé !!!
    ca vient de faire TILT !!!!!
    c'était tout bête : en fait il suffit SIMPLEMENT de déclarer la variable en champ caché dans le formulaire !!

    ........... quelque fois, un peu de repos du cerveau et ça repart !

+ 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