Ich versuche, mehrere Bilder in die Datenbank einzufügen. Beim Senden bekomme ich nur ein Bild in $ _FILES []. Warum werden die anderen übermittelten Bilder nicht im Array angezeigt?Mehrere Bilder hochladen Problem
Auch upload.php hat sagen Fehler Array String-Konvertierung in C: \ xampp \ htdocs \ kabootar \ upload.php auf der Linie 15, die
ist$targetFile = $targetDir.$fileName;
Wie kann ich diese Probleme zu lösen?
html
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="submit" value="Upload" name="upload">
<label class="add">Select more..</label>
<div class="prep">
<div class="col-md-4">
<img src="http://png-4.findicons.com/files/icons/129/soft_scraps/256/button_upload_01.png" id="upfile1" style="cursor:pointer" class="img" />
<input type="file" class="inputimg" name="multiple_uploaded_files[]" />
</div>
</div>
</form>
Javascript
<script type="text/javascript">
$(document).on("click", ".img", function() {
$(this).closest("div").find(".inputimg").trigger("click");
});
var count = 1;
$(".add").on("click", function() {
count++;
if(count <= 5){
var row = '<div class="col-md-4"> <img src="http://png-4.findicons.com/files/icons/129/soft_scraps/256/button_upload_01.png" id="upfile1" style="cursor:pointer" class="img"/ ><input type="file" class="inputimg" />\n\
';
$(".prep").append(row);
$(".inputimg").change(function() {
console.log(this);
readURL(this);
});
}else{
alert('You are only allowed to add uptp 5 images');
}
});
$(".inputimg").change(function() {
readURL(this);
});
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$(input).siblings('.img').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
</script>
upload.php
if(isset($_POST['upload']))
{
if(!empty($_FILES)){
foreach ($_FILES['multiple_uploaded_files']['name'] as $file)
{
$targetDir = "upload/";
$fileName = $_FILES['multiple_uploaded_files']['name'];
$targetFile = $targetDir.$fileName;
//use the move_uploaded_file() to move your file on your server directory.
if(move_uploaded_file($_FILES['multiple_uploaded_files']['tmp_name'][$file], $targetFile))
{
//insert file information into db table
$sql = mysqli_query($link,"INSERT INTO files (file_name, uploaded) VALUES('".$fileName."','".date("Y-m-d H:i:s")."')");
echo 'file inserted';
}
else
{
echo 'Query not working';
}
}
//fire an insert query that inserts all the file names with comma separated value
}
else
{
echo 'No file selected';
}
können Sie den var_dump ($ _ FILES) drucken/anzeigen; –
@RavinderReddy Nach dem Senden von zwei Dateien ist die Ausgabe array (1) {["multiple_uploaded_files"] => array (5) {["name"] => array (1) {[0] => string (10) "Winter.jpg"} ["Typ"] => array (1) {[0] => Zeichenkette (10) "image/jpeg"} ["tmp_name"] => array (1) {[0] = > Zeichenfolge (22) "C: \ xampp \ tmp \ phpE0.tmp"} ["Fehler"] => Array (1) {[0] => int (0)} ["Größe"] => Array (1) {[0] => int (105542)}}} –
'$ _FILES ['multiple_uploaded_files'] ['name']' ist ein Array! – Rayon