Ich versuche, ein Bild mit PHP und MySQL und unten ist der Code verwendet ..Warum gibt move_upload_file im angegebenen Code nicht immer false zurück?
index.php
<form action="submit.php" enctype="multipart/form-data" method="post">
<table style="border-collapse: collapse; font: 12px Tahoma;" border="1" cellspacing="5" cellpadding="5">
<tbody><tr>
<td>
<input name="uploadedimage" type="file">
</td>
</tr>
<tr>
<td>
<input name="Upload Now" type="submit" value="Upload Image">
</td>
</tr>
</tbody></table>
</form>
submit.php
<?php
include("mysqlconnect.php");
function GetImageExtension($imagetype) {
if (empty($imagetype))
return false;
switch ($imagetype) {
case 'image/bmp': return '.bmp';
case 'image/gif': return '.gif';
case 'image/jpeg': return '.jpg';
case 'image/png': return '.png';
default: return false;
}
}
if (!empty($_FILES["uploadedimage"]["name"])) {
$file_name = $_FILES["uploadedimage"]["name"];
$temp_name = $_FILES["uploadedimage"]["tmp_name"];
$imgtype = $_FILES["uploadedimage"]["type"];
$ext = GetImageExtension($imgtype);
$imagename = date("d-m-Y") . "-" . time() . $ext;
$target_path = "images/" . $imagename;
if (move_uploaded_file($_FILES['uploadedimage']['tmp_name'], $target_path)) {
$detail = date("Y-m-d");
$sql = "INSERT INTO `image_upload`(`id`, `image`, `detail`) VALUES (NULL,'$target_path','$detail')";
if (!$conn->query($sql)) {
echo $conn->error;
} else {
echo "Successfully inserted. ";
}
} else {
exit("Error While uploading image on the server");
}
}
?>
Tabellenstruktur zu laden:
# Name Type Collation Attributes Null Default Extra
1 id(Primary) int(11) No None AUTO_INCREMENT
2 image blob Yes NULL
3 detail varchar(500) utf8_general_ci Yes NULL
Jedes Mal, wenn ich dies ausführe, zeigt es mir immer "Fehler Beim Hochladen von Bildern auf den Server "Ich verstehe nicht warum. Kann mir jemand sagen, wo ich falsch liege und wie ich meine Umsetzung verbessern kann? Vielen Dank im Voraus.
Ihr Verzeichnis überprüfen vorhanden sind oder nicht und Schreibrechte –
Berechtigungen für das Verzeichnis angegeben werden schon noch ist es nicht ausführen. –