Ich bin neu in PHP. Ich lade mehrere Dateien aus einem Formular zusammen mit anderen Eingaben in die Datenbank hoch. Der vollständige Pfad und Name der Dateien sollte in der DB in einer einzelnen Spalte mit Kommas eingefügt werden. Wie mache ich das?Mehrere Dateien Pfad in einer einzigen Spalte der DB einfügen?
0
A
Antwort
1
Sie müssen die Pfade in einem Array beibehalten, da Sie mehrere Dateien hochladen. Hier verwende ich $paths
Array, um die Pfade zu speichern. Und in der einfügen Abfrage verwende ich implode
Funktion, um Array in String (mit Komma) zu konvertieren. Auf diese Weise können Sie alle Pfade als kommagetrennten Wert in einer einzelnen Spalte speichern.
Dies ist Ihre Lösung
$filename = $_FILES['file']['name'];
$folder = "/var/www/html/PhpProject1/";
$paths = array();
for($i=0; $i<count($_FILES['file']['name']);$i++)
{
$paths[] = $folder.$_FILES['file']['name'][$i];
move_uploaded_file($_FILES['file']['tmp_name'][$i], $folder.$_FILES['file']['name'][$i]);
}
$stmt = $conn->prepare("INSERT INTO studentrecords(name, email, mobileno,address,gender,filename) values (?,?,?,?,?,?)");
$stmt->bind_param("ssssss",$name,$email,$mobno,$address,$gender,implode(",",$paths));
$stmt->execute();
echo "Successfull";
$stmt->close();
$conn->close();
Thanku sehr. –
Warum sollte das OP diese "Lösung" verwenden? Eine *** gute Antwort *** wird immer eine Erklärung haben, was getan wurde und warum es so gemacht wurde, nicht nur für das OP, sondern auch für zukünftige Besucher von SO. –
@Jay Blanchard: Einverstanden mit Ihrem Kommentar und aktualisiert die Antwort. Hoffe jetzt ist es verständlich für OP und zukünftige Besucher. Vielen Dank :) –