Page 1 sur 1

enregistrement

Posté : 07 juin 2017, 22:11
par quattro
Bonjour
Voici mon code :

Code : Tout sélectionner

<form method="post" enctype="multipart/form-data" action=""> <input type="file" name="fichier" multiple="multiple"><br> Nouveau nom : <input type="text" name="renom" ><br> Dossier de destination : <input type="text" name="dir" size="12"><br> <input type="submit" name="upload" > </form> <?php if( isset($_POST['upload']) ) // si formulaire soumis { /*$content_dir = 'images/'; // dossier où sera déplacé le fichier*/ /**************************************************/ //on transforme en fichier temporaire xxxx.tmp $tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("Le fichier est introuvable"); } /**************************************************/ // on vérifie l'extension $type_file = $_FILES['fichier']['type']; if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif')) { exit("Le fichier n'est pas une image"); } /**************************************************/ // On créer un dossier if(isset($_POST['upload']))//si le formulaire est soumis { if (!empty($_POST['dir'])) { //si le champ name n'est pas vide $dossier = $_POST['dir']; //si le dossier n'existe pas déjà if(!file_exists($dossier)) { mkdir($dossier,0777,true); echo "Le Dossier -- ".$dossier." -- a bien ete cree"; } } else { echo "Veuillez rentrer un nom"; } } /**************************************************/ // on copie le fichier dans le dossier de destination $name_file = $_FILES['fichier']['name']; if( !move_uploaded_file($tmp_file, /*$content_dir*/ $dossier . $name_file) ) { exit("Impossible de copier le fichier dans $dossier"); } echo "Le fichier a bien été uploadé"; } ?>
Grace a mon formulaire, je choisi une image et ensuite je créer un dossier de destination. Mais lorsque je valide le formulaire, mon image est enregistrer en dehors de mon dossier de destination (qui lui a bien été crée au passage, mais reste vide ????)

Re: enregistrement

Posté : 07 juin 2017, 22:55
par or 1
$dossier . $name_file
il manque le séparateur entre répertoire et nom de fichier.

Re: enregistrement

Posté : 08 juin 2017, 21:56
par quattro
ok vue merci

Code : Tout sélectionner

if( !move_uploaded_file($tmp_file, "$dossier/ $name_file") )

Re: [RESOLU] enregistrement

Posté : 09 juin 2017, 09:32
par Spols
a mon avis l'espace après le slash va poser des soucis

je te proposerai cette syntaxe
if( !move_uploaded_file($tmp_file, $dossier . "/" . $name_file) )