Ich habe den Code unten und ich kann nicht herausfinden, warum meine Abfrage fehlschlägt. Hat jemand eine Idee warum?
Ich habe viele vorgeschlagene Lösungen ausprobiert, die ich online gefunden habe, aber keiner von ihnen hat funktioniert.Laden Sie mehrere Bilder mit PHP
Das HTML-Formular-Code folgt der PHP-Code
<?php include 'connection.php';?>
<?php
$dir = substr(uniqid(),-7);
$valid_formats = array("jpg", "png", "gif", "jpeg");
$max_file_size = 1024*100; //100 kb
/*
$path = "Prototype/uploads/"; // Upload directory
mkdir ($path, 0744);\
*/
$count = 0;
if (isset($_POST['search'])) {
// Loop $_FILES to exeicute all files
foreach ($_FILES['files']['name'] as $f => $name) {
echo "$name--";
if ($_FILES['files']['error'][$f] == 4) {
continue; // Skip file if any error found
echo "something <br>";
}
if ($_FILES['files']['error'][$f] == 0) {
if ($_FILES['files']['size'][$f] > $max_file_size) {
$message[] = "$name is too large!.";
echo "something***************** <br>";
continue; // Skip large files
} elseif (! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats)) {
$message[] = "$name is not a valid format";
echo "something+++++++++++++++++++ <br>";
echo "$name-- ";
continue; // Skip invalid file formats
} else { // No error found! Move uploaded files
// if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))
// $count=$count+1; // Number of successfully uploaded file
//echo $path.$name;
$image = addslashes(file_get_contents($_FILES['files']['tmp_name'][$f]));
$image_name = addslashes($_FILES['files']['name'][$f]);
$query2 = "Insert into $dbname.Image (Image, ImageName) VALUES ('$image', '$image_name')";
$result2 = mysqli_query($conn,$query2);
if (!$result2) {
echo "ERRORS";
}
//Number of successfully uploaded file
}
}
}
echo "$count files were imported";
}
//show success message
/*
echo "<h1>Uploaded:</h1>";
if(is_array($files)){
echo "<ul>";
foreach($files as $file){
echo "<li>$file</li>";
}
echo "</ul>";
}
*/
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
<label class="btn btn-primary" for="my-file-selector">
<input id="my-file-selector" type="file" name="files[]" style="display:none;" multiple onchange="$('#upload-file-info').html($(this).val());">
Browse
</label>
<span class='label label-info' id="upload-file-info"></span>
<div style="float:right;">
<label class="btn btn-primary" for="my-file-selector2">
<input id="my-file-selector2" type="Submit" style="display:none;" name="search">
Save
</label>
</div>
</form>
welche Fehler konfrontiert sind Sie? –
Diese Bedingung 'if (! $ Result2)' ist fehlgeschlagen, also nehme ich an, dass etwas nicht stimmt. – Bobby
Drucken Sie Ihre $ _FILES-Array und überprüfen Sie, was es zurückgibt –