Dateinamen nach Upload in Datenbank speichern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Dateinamen nach Upload in Datenbank speichern

    Hallo,

    wie kann ich bei folgendem Code bei jeder hochgeladenen Datei einen DB Eintrag mit dem Dateinamen anlegen.

    PHP-Quellcode

    1. <?php
    2. ob_start();
    3. session_start();
    4. // Datenbankverbindung -----------------------------------------------------------------------------
    5. $db = mysqli_connect("localhost", "root", "", "web");
    6. if(!$db)
    7. {
    8. exit("Verbindungsfehler: ".mysqli_connect_error());
    9. }
    10. $entry = mysqli_query($db, "INSERT INTO album_pictures SET pictureAlbumID=$albumID, pictureFileName=");
    11. //$output_dir = $_SESSION["albumUploadFolder"];
    12. $output_dir = $_SESSION["albumUploadFolder"];
    13. $albumID = $_SESSION["activeAlbumID"];
    14. if(isset($_FILES["myfile"]))
    15. {
    16. $ret = array();
    17. $error =$_FILES["myfile"]["error"];
    18. if(!is_array($_FILES["myfile"]["name"])) //single file
    19. {
    20. $fileName = $_FILES["myfile"]["name"];
    21. move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
    22. $ret[]= $fileName;
    23. }
    24. else //Multiple files, file[]
    25. {
    26. $fileCount = count($_FILES["myfile"]["name"]);
    27. for($i=0; $i < $fileCount; $i++)
    28. {
    29. $fileName = $_FILES["myfile"]["name"][$i];
    30. move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
    31. $ret[]= $fileName;
    32. }
    33. }
    34. json_encode($ret);
    35. }
    36. ?>
    Alles anzeigen
  • moin,

    wie freeek schon schrieb:

    PHP-Quellcode

    1. $entry = mysqli_query($db, "INSERT INTO album_pictures SET pictureAlbumID=$albumID, pictureFileName='".$_FILES["myfile"]["name"]."');

    auerdem benutzt du die Variable $albumID, bevor du der einen Wert zuweist,
    hier mal tauschen:

    PHP-Quellcode

    1. $albumID = $_SESSION["activeAlbumID"]; // erst die Variable zuweisen, dann in der Zeile drunter verwenden
    2. $entry = mysqli_query($db, "INSERT INTO album_pictures SET pictureAlbumID=$albumID, pictureFileName=");
    3. //$output_dir = $_SESSION["albumUploadFolder"];
    4. $output_dir = $_SESSION["albumUploadFolder"];

    Wenn ich da jetzt nichts übersehen habe müsste dass so stimmen.

    Das klappt aber nur, wenn es nur eine Datei ist, du solltest das Speichern in die DB besser in die If Abfragen für single/ multifiles setzen, bei multifiles dann in die Schleife, damit du für jede Datei einen Datensatz erstellst.

    Gruß,
    Dennis