[PHP] move_upload_file() toujours FALSE
Bonjour,
J'ai un problème pour envoyer un fichier sur un serveur apache.
Donc j'ai utilisé un formulaire pour récupérer mon fichier, puis je veut l'envoyer sur mon serveur via la commande "move_upload_file()" si je ne me trompe pas.
Mais cette fonction me retourne toujours FALSE, sauriez-vous quel en est la cause ?
Voici mon code.
Voici ce qui est retourné sur la page.
Merci d'avance à ceux qui ce remuront les méninges :)
Alexandre.
J'ai un problème pour envoyer un fichier sur un serveur apache.
Donc j'ai utilisé un formulaire pour récupérer mon fichier, puis je veut l'envoyer sur mon serveur via la commande "move_upload_file()" si je ne me trompe pas.
Mais cette fonction me retourne toujours FALSE, sauriez-vous quel en est la cause ?
Voici mon code.
<?php
if(isset($_POST['Envoyerdat']))
{
$content_dir = "/home/h059730/nastran_test/";
foreach($_FILES as $fichier)
{
$input_name = $_FILES['dat']['name'];
$tmp_file = $_FILES['dat']['tmp_name'];
if( !is_uploaded_file($tmp_file))
{
echo"File not found";
}
else
{
$name_file = $input_name;
$final_upload = $content_dir . $name_file;
echo "<br>TMP : $tmp_file<br>DIR : $content_dir<br>NAME : $name_file<br>FIN : $final_upload<br><br>";
if( move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
echo"Fichier $name_file uploadé avec succes<br />";
}
else
{
echo "File upload failed";
}
}
}
}
else
{
echo "<TABLE BORDER=\"0\">
<form ENCTYPE=\"multipart/form-data\" method='POST' action='$_PHP_SELF' name=\"formdat\">
<TR>
<TH><b><u>Fichier</b></u> <input type='file' name=\"dat\" value=\"\"></TH>
<TH><input type='submit' name=\"Envoyerdat\" value=\"Envoyer\"></form></TH>
</TR>
</TABLE>";
}
?>
Voici ce qui est retourné sur la page.
TMP : /tmp/php2KXMyq DIR : /home/h059730/nastran_test/ NAME : test.dat FIN : /home/h059730/nastran_test/test.dat File upload failed
Merci d'avance à ceux qui ce remuront les méninges :)
Alexandre.
Configuration: Windows XP Internet Explorer 6.0
4 réponses
-
Je te suggère de faire un print_r($_FILES), tu devrais comprendre ton erreur en visualisant comment se présente le tableau.
-
Et ça m'indique quoi de précis ?
Array ( [dat] => Array ( [name] => test.dat [type] => text/plain [tmp_name] => /tmp/phpwgPk8n [error] => 0 [size] => 10 ) )
-
Je pensais en fait que tu faisais de l'upload multiple, car tu utilises un foreach.
Donc, je me suis trompé, mais ton foreach ne sert strictement à rien.
Sinon, est-ce que les droits sont ok dans le répertoire de destination ?
Ton error_reporting est bien à E_ALL ? -
Oups, le foreach, j'ai copié la mauvaise partie, parce que j'ai 2 zones d'upload, seul le foreach est rajouté pour le moment :P
Le Repertoire à les droits en 777 ;)
Qu'est-ce que le Error_reporting pourrais modifier ? Je le change quand même ;)