[PHP]probleme de code upload
Résolu
nhea
Messages postés
51
Date d'inscription
Statut
Membre
Dernière intervention
-
nhea Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
nhea Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un probleme de code(de débutant), voici mon code:
html:
<form action="cible_envoi.php" method="POST" enctype="multipart/form-data">
<p>
Formulaire d'envoi de fichier :<br />
<input type="file" name="monfichier" /><br />
<input type="submit" value="Envoyer le fichier" />
</p>
</form>
PHP:
<?php
if(isset($_FILES['monfichier'])){
$target = "/image/".basename($_FILES['monfichier']['name']) ;
print_r($_FILES);
if(move_uploaded_file($_FILES['monfichier']['tmp_name'],$target)) echo "L envoie a reussi.";
}
?>
il me marque :
Array ( [monfichier] => Array ( [name] => test.gif [type] => image/gif [tmp_name] => C:\Program Files\EasyPHP 3.0\tmp\phpEDBE.tmp [error] => 0 [size] => 12826 ) )
Warning: move_uploaded_file(/image/test.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP 3.0\www\cible_envoi.php on line 6
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Program Files\EasyPHP 3.0\tmp\phpEDBE.tmp' to '/image/test.gif' in C:\Program Files\EasyPHP 3.0\www\cible_envoi.php on line 6
Quel est le probleme dans mon script de débutant.
j'ai un probleme de code(de débutant), voici mon code:
html:
<form action="cible_envoi.php" method="POST" enctype="multipart/form-data">
<p>
Formulaire d'envoi de fichier :<br />
<input type="file" name="monfichier" /><br />
<input type="submit" value="Envoyer le fichier" />
</p>
</form>
PHP:
<?php
if(isset($_FILES['monfichier'])){
$target = "/image/".basename($_FILES['monfichier']['name']) ;
print_r($_FILES);
if(move_uploaded_file($_FILES['monfichier']['tmp_name'],$target)) echo "L envoie a reussi.";
}
?>
il me marque :
Array ( [monfichier] => Array ( [name] => test.gif [type] => image/gif [tmp_name] => C:\Program Files\EasyPHP 3.0\tmp\phpEDBE.tmp [error] => 0 [size] => 12826 ) )
Warning: move_uploaded_file(/image/test.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP 3.0\www\cible_envoi.php on line 6
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Program Files\EasyPHP 3.0\tmp\phpEDBE.tmp' to '/image/test.gif' in C:\Program Files\EasyPHP 3.0\www\cible_envoi.php on line 6
Quel est le probleme dans mon script de débutant.
A voir également:
- [PHP]probleme de code upload
- Code ascii - Guide
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
5 réponses
Si j'ai bien compris, le nom du dossier visé est incorete ou introuvable^^ Regarde bien.... C'est tout ce qu eje peux te dire ;-)
Bonjour
Oui, le dossier de destination est presque certainement incorrect.
$target est un nom de fichier, autrement dit un nom du point de vue de windows (C:\...) et non pas une adresse de site (http://...)
/image/ , pour windows, est un nom qui commence par / et c'est donc un répertoire à la racine du disque courant. J'ai bien dit du disque courant, pas de ton site. Autrement dit, c'est C:\image\
Comme je suis prêt à parier que ce répertoire n'existe pas, mais que tu veux que ce soit un sous-répertoire de ton site, il faut que tu ajoutes au début le nom du répertoire où se trouve ton site :
$target = $_SERVER['DOCUMENT_ROOT']."/image/".basename($_FILES['monfichier']['name']) ;
Oui, le dossier de destination est presque certainement incorrect.
$target est un nom de fichier, autrement dit un nom du point de vue de windows (C:\...) et non pas une adresse de site (http://...)
/image/ , pour windows, est un nom qui commence par / et c'est donc un répertoire à la racine du disque courant. J'ai bien dit du disque courant, pas de ton site. Autrement dit, c'est C:\image\
Comme je suis prêt à parier que ce répertoire n'existe pas, mais que tu veux que ce soit un sous-répertoire de ton site, il faut que tu ajoutes au début le nom du répertoire où se trouve ton site :
$target = $_SERVER['DOCUMENT_ROOT']."/image/".basename($_FILES['monfichier']['name']) ;
Merci ca marche grache a $_SERVER['DOCUMENT_ROOT']. mais vous savz comment faire pour que sa marque juste "L'envoie a réussi" en non Array ( [monfichier] => Array ( [name] => test.gif [type] => image/gif [tmp_name] => C:\Program Files\EasyPHP 3.0\tmp\php58EC.tmp [error] => 0 [size] => 12826 ) ) L envoie a reussi.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question