Dateinamen nach Upload in Datenbank speichern

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • 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 Source Code

    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. ?>
    Display All
  • moin,

    wie freeek schon schrieb:

    PHP Source Code

    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 Source Code

    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