Ich versuche eine Bilddatei aus dem HTML-Formular zu bekommen, um sie in eine Datenbank einzufügen. Es funktioniert leider nicht, weil die Datei nicht gepostet wurde.
Alle anderen Variablen funktionieren, ich echote sie zu überprüfen, aber die Datei ist nicht. Wo ist mein Problem? Ich denke, es ist in der HTML-Form, die eingefügten Variablen sind auch in der gleichen Form, aber in verschiedenen Abteilungen, so dass die Post tatsächlich alle Daten in der Form zu post.php aber nicht die Bilddatei senden.
Wie Sie sehen, ich schließe bereits "enctype =" multipart/form-data "" ein.
Irgendwelche Hilfe bitte?
1) HTML-Markup:
<form action="post.php" method="post" enctype="multipart/form-data">
<input type="hidden" id="MAX_FILE_SIZE" name="MAX_FILE_SIZE" value="300000"/>
<div>
<input type="file" id="fileselect" name="fileselect[]" multiple accept="image/*"/>
<div id="filedrag">or drop files here</div>
</div>
<div id="submitbutton">
<button type="submit">Upload Files</button>
</div>
</form>
2) PHP-Code:
$title=isset($_POST['title'])?$_POST['title']:false;
$desc=isset($_POST['description'])?$_POST['description']:false;
$date=date("Y-M-D");
$city=isset($_POST['city'])?$_POST['city']:false;
$user=isset($_POST['name'])?$_POST['name']:false;
$price=isset($_POST['price'])?$_POST['price']:false;
$table=isset($_POST['option'])?$_POST['option']:false;
$imgfile=isset($_FILE['file']['name'])?$_FILE['fileselect']['name']:false;
$tmp_dir=isset($_FILE['fileselect']['tmp_name'])?$_FILE['fileselect'['tmp_name']:false;
$img_size=isset($_FILE['fileselect']['size'])?$_FILE['fileselect']['size']:false;
$upload_dir='images/'; // directory
$imgExt=strtolower(pathinfo($imgfile,PATHINFO_EXTENSION)); // GET IMAGE EXTENSION
$valid_ext=array('jpeg','jpg','png','gif');
//rename uploading image
$item_img=rand(1000,1000000).".".$imgExt;
// allow valid image format
if(in_array($imgExt, $valid_ext))
{
if($img_size < 500000)
{
move_uploaded_file($tmp_dir,$upload_dir.$item_img);
}
else{
$erMsg="Sorry , your file is too large";
}
}
else{
$erMsg="Sorry,only JPG,JPEG,PNG & GIF files are accepted :)";
}
$query = $pdo->prepare('INSERT INTO '.$table .'(title,description,image,date,city,user,price) VALUES(:title, :description, :image, :date, :city, :user, :price)');
$query->bindParam(':title', $title);
$query->bindParam(':description', $desc);
$query->bindParam(':image', $item_img);
$query->bindParam(':date', $date);
$query->bindParam(':city', $city);
$query->bindParam(':user', $user);
$query->bindParam(':price', $price);
Verwenden Sie enctype = "multipart/form-data" –
verwenden Sie 'enctype =" multipart/form-data "' –