J'ai utilisé ce code dans un autre site que j'ai créé et il fonctionne très bien, donc je ne comprends vraiment pas pourquoi cela ne fonctionne pas correctement. Les seules choses que j'ai changé sont les répertoires pour le fichier à déplacer, mais les fichiers ne sont jamais téléchargés. J'ai triplé tout et tout semble bien. Le code s'exécute toutes sans erreurs et toutes les informations sont correctement saisies dans la base de données, le seul problème est le téléchargement du fichier. Je deviens fou en essayant de faire fonctionner ça! aidez s'il vous plaît!PHP Le formulaire de téléchargement de fichier ne fonctionne pas
formulaire HTML:
<p>
<h2>Add News</h2><br />
REQUIRED *<br /><br />
<form enctype="multipart/form-data" action='addnews2.php' method='post' onsubmit="chose.value = uploadForm()" name="newsform">
<p>Headline: *
<br>
<input name="title" type="text" size="75">
<br />
<br/>
News: *<br>
<textarea name="text" cols="75" rows="10" width="200"></textarea><br /><br />
Image File:
<br>
<input type="file" name="filetoupload" id="filetoupload"><br/><br />
<input type="submit" name="choose" value="Submit" />
</p>
</form>
</p>
Traitement Page:
$date=date("l F d, Y");
$title=stripslashes($_POST['title']);
$text=stripslashes($_POST['text']);
if (($_FILES["filetoupload"]["type"] == "image/gif")
|| ($_FILES["filetoupload"]["type"] == "image/jpeg")
|| ($_FILES["filetoupload"]["type"] == "image/pjpeg")
|| ($_FILES["filetoupload"]["type"] == "image/png")
|| ($_FILES["filetoupload"]["type"] == "image/jpg"))
{
if ($_FILES["filetoupload"]["error"] > 0)
{
echo "Return Code: " . $_FILES["filetoupload"]["error"] . "<br />";
}
else
{
if (file_exists("images/news/" . $_FILES["filetoupload"]["name"]))
{
echo $_FILES["filetoupload"]["name"] . " already exists. ";
}
move_uploaded_file($_FILES["filetoupload"]["tmp_name"],
"images/news/" . $_FILES["filetoupload"]["name"]);
}
}
$image = "images/news/".$_FILES['filetoupload']['name'];
if($title==""||$text==""){
die("You need to fill in all details");
}
connect_to_db();
$query="insert into news (date, title, text, image) values ('".$date."','".mysql_real_escape_string($title)."','".mysql_real_escape_string($text)."','".$image."')";
$result=mysql_query($query);
if(mysql_affected_rows()==1){
header("Location:index.php?page=Admin&news=added");
}
else{
die("there was a problem");
}
mysql_close();
Avez-vous vérifié les permissions sur le répertoire que vous téléchargez? –
votre code move_uploaded_file est toujours en cours d'exécution vous devez le mettre dans la partie else –
Afin de tracer le problème, vous devez construire un nouveau fichier php temp sans les informations de base de données, puis recueillir et renvoyer des informations sur toutes les variables pour assurer votre les emplacements, les chemins et les données construites sont valides. Activez également le rapport d'erreurs (http://php.net/manual/en/function.error-reporting.php). En outre, comme indiqué, l'emplacement cible pour la copie finale peut ne pas avoir les autorisations de fichiers appropriées (accès en écriture). – horatio