Ich versuche, pro Transaktion mehrere Bilder in die Datenbank einzufügen, aber jedes Bild hat seine eigenen Eingabetypen. Aber wenn ich das Formular abschicke, bekomme ich den Fehler, dass mein $file_upload = $_FILES['file_upload'.$i];
aus meiner post.php ein "undefinierter Index" ist. Sind die file-upload1
, file-upload2
, file-upload3
aus meinem HTML nicht der richtige Weg, dies zu tun? Bitte helfen Sie. Vielen Dank.Wie man mehrere Bilddateien in einer Transaktion mit php und mysqli hochlädt?
Mein PHP-Code ist:
include 'dbcontroller.php';
if(isset($_POST['submit'])) {
for ($i = 1; $i <= 3; $i++) {
$file_upload = $_FILES['file_upload'.$i];
$file=(rand(1000,100000)."-".$file_upload['name'.$i]);
$type=$file_upload['type'.$i];
$size=$file_upload['size'.$i];
$loc=$file_upload['tmp_name'.$i];
$new_size=$size/1024; // file size in KB
// make file name in lower case
$new_file_name = strtolower($file);
// make file name in lower case
$final_file=str_replace(' ','-',$new_file_name);
if(move_uploaded_file($loc, '..admin/officers-avatars/'.$final_file)) {
$result = mysqli_query($conn,"INSERT INTO images VALUES ('$final_file', '$new_size', '$type')")
or die(mysqli_error($conn));
}
}
}
Unten ist mein HTML
<form action="post.php" method="post" enctype="multiple/form-data">
\t <input type="file" name="file-upload1" /><br><br>
\t <input type="file" name="file-upload2" /><br><br>
\t <input type="file" name="file-upload3" /><br><br>
\t <input type="submit" name="submit" value="SAVE"/>
</form>
Hast du 'var_dump()' auf '$ _FILES' gemacht, um zu sehen, was da eigentlich ist? – WillardSolutions
Nein, habe ich nicht. Und habe 'var_dump' noch nicht probiert, aber ich werde es versuchen. @EatPeanutButter – Louie
Habe es getan. Und ich habe einen NULL. Wew @EatPeanutButter – Louie