Bonjour,
j'aimerai crée un input file pour ajouter des extra informations user ,

// enregistrement
 if ( !empty( $_FILES['wp_custom_attachment_cv'] ) )
        update_user_meta( $current_user->ID, 'wp_custom_attachment_cv', esc_attr( $_POST['wp_custom_attachment_cv'] ) );

 //form
 <td>
              <input type="file" id="wp_custom_attachment_cv" name="wp_custom_attachment_cv" value=""  />
            </td>

dans la base de donnée, je ne vois que le nom du fichier , mais pas le chemin

3 réponses


Bonjour,

Tu as fait l'effort de poster un semblant de code sur ce post, alors je vais essayer de t'aiguiller.

Tout d'abord, tu passes en meta_value la valeur suivante :

esc_attr( $_POST['wp_custom_attachment_cv'] )

Il correspond à quoi ce $_POST ?

Ensuite, pourrais-tu nous poster la partie de ton code qui s'occupe du fichier s'il te plait ?
Par ce que la, tu n'en fais rien. Tu te contentes de tester si il a été receptionné par le serveur ou non.
Il faut s'en occuper du petit, ça ne se fait pas tout seul.

rakima
Auteur

normalement, je dois mettre _FILES au lieu de _POST c est ca ?

Non, tu dois t'occuper de ton fichier qui, pour le moment, n'est rien d'autre qu'un fichier temporaire qui va disparaitre de ton serveur.

Fais un

<?php var_dump($_FILES); ?>

et envoies un fichier.
Tu vas voir ce que contient cette variable globale.

Tu veras que ton fichier est la mais qu'il a besoin que tu l'enregistres quelquepart sur ton serveur, afin de pouvoir enregistrer son URL dans ta meta utilisateur.

Comment déplacer un fichier uploader ? C'est par ici que ça se passe

EDIT : tu es sur WordPress, du coup, après avoir assimilé le lien ci-dessus, ça pourrait t'interesser aussi :)