Ergebnis 1 bis 10 von 10

Thema: Bilder uploaden in DB

  1. #1
    Azubi(ne)
    Registriert seit
    05.06.2008
    Beiträge
    71
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Bilder uploaden in DB

    Hallo,

    anhand dieses Tutorials http://www.infos24.de/mysqle/handbuc...l_binaries.htm versuche ich Bilder in meine DB hochzuladen und wieder auszugeben.
    Nach dem Hochladen in die DB steht in Spalte 'Bild' folgender Eintrag: BLOB - 0 Bytes. Es ist sozusagen leer. Diese Fehlermeldung erscheint nach dem Ausführen des Skripts:
    Code:
    Warning: fread(): supplied argument is not a valid stream resource in C:\xampp\htdocs\myStaff\Datenbank-Test\upload.php on line 18
    Zeile 18
    PHP-Code:
    $bild=addslashes(fread(fopen($datei"r"), filesize($datei))); 
    Hier der Code vom Tutorial (übergabevariablen hinzugefügt):
    PHP-Code:
    <?
    mysql_connect
    ("localhost","","");
    mysql_select_db("homepage");
    include 
    "bild-upload.html";
    $modul $_POST['modul'];
    $nummer $_POST['nummer'];
    $datei $_POST['datei'];
     
    if(
    $modul ==1)
    {
    print 
    "<html><head><title>Bild in eine mysql Datenbank einspeisen mit PHP</title></head>
    <body>"
    ;
    $bild=addslashes(fread(fopen($datei"r"), filesize($datei)));
    $Name=$HTTP_POST_FILES['datei']['name'];
    mysql_query("insert into bilder(Name,Bild) values ('$Name','$bild')");
    $zahlmysql_insert_id();
    echo 
    "Der Name des Files ist ".$HTTP_POST_FILES['datei']['name']."<br>";
    echo 
    "Der Grösse des Files ist ".$HTTP_POST_FILES['datei']['size']."<br>";
    echo 
    "Der File ist vom Typ: ".$HTTP_POST_FILES['datei']['type']."<br>";
    echo 
    "Der Name des Files ist ".$HTTP_POST_FILES['datei']['name']."<br>";
    $dateiname=$HTTP_POST_FILES['datei']['name'];
    echo 
    "Der File wurde upgeloaded. Die Nummer des Bildes ist $zahl";
    print 
    "</body></html>";
    }
    if(
    $modul ==2)
    {
    $zeiger=mysql_query("select Bild from bilder where Ident=$nummer");
    $ergebnis=mysql_fetch_array($zeiger);
    print 
    $ergebnis['Bild'];
    }
    if(
    $modul ==3)
    {
    $zeiger=mysql_query("select Bild from bilder where Ident=$nummer");
    while(
    $ergebnis=mysql_fetch_array($zeiger))
    {
    print 
    $ergebnis['bild'];
    }
    }
    mysql_close();
    ?>
    Ich bin mir nicht ganz sicher, ob ich die DB richtig eingerichtet habe, da ich nicht weiss, wo diese Anweisungen gemacht werden sollen:
    Code:
    Query OK, 0 rows affected (0.16 sec)
    Thanks
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: Bilder uploaden in DB

    Frage: Warum willst du überhaupt ein Bild in eine DB stopfen?

    $HTTP_POST_FILES ist veraltet, benutze $_FILES

    Das ist auch schlecht: $bild=addslashes(fread(fopen($datei, "r"), filesize($datei)));

    Und wieso $datei?


    Geändert von bandit600 (09.01.2009 um 16:24 Uhr)

  3. #3
    Azubi(ne)
    Themenstarter

    Registriert seit
    05.06.2008
    Beiträge
    71
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Bilder uploaden in DB

    eigentlich wollte ich diese variante nur mal testen, aber leider funktioniert es nicht.

    zur zeit habe ich die bilder in einem Ordner und in die DB kommt nur der link. das funktioniert ganz gut. Ist das eine gängige Methode?
    mal ne frage: kann man ein bild über ein Formular in einen bestimmten Ordner hochladen? Also anstatt ins die DB gleich in einen Ordner.

  4. #4
    Bandit
    Gast

    Standard AW: Bilder uploaden in DB

    Zitat Zitat von sero79 Beitrag anzeigen
    Ist das eine gängige Methode?
    Ja
    Zitat Zitat von sero79 Beitrag anzeigen
    kann man ein bild über ein Formular in einen bestimmten Ordner hochladen?
    Ja. bei move_uploaded_file kann man doch auch ein Verzeichnis angeben.

  5. #5
    Azubi(ne)
    Themenstarter

    Registriert seit
    05.06.2008
    Beiträge
    71
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Bilder uploaden in DB

    Hi,

    danke für den Tip mit move_uploaded_file. Ich lade die Datei in den bestimmten Ordner und in die DB kommt nur der Dateiname.
    Gleichzeitig wird die Datei in einen einheitlichen Dateinamen je Datensatz umbenannt (z.B. 01-img.jpg). Dazu hänge ich die ID des jeweiligen Datensatzes an den Dateinamen voran. So gibt es für jeden Datensatz eine Datei.
    Allerdings gibts mit der Vergabe der ID ein Problem, wenn ich einen neuen Datenssatz hinzufüge: ich hole mir die maximale ID ( z.B 100) über eine Abfrage und sage IDnext = IDmax+1 (z.B. 101). So weit so gut, werden jetzt aber Datensätze zuvor gelöscht (z.B. 99, 100), dann ist IDmax 99 und 100 wäre IDnext. Aber beim Erstellen des neuen Datensatzes vergibt MySQL als neue ID 101 (da ja schon 99, 100 vergeben wurden), da ID auto_increment. Nun meine Frage, wie kann ich in diesem Sonderfall die richtige ID erhalten?

  6. #6
    Bandit
    Gast

    Standard AW: Bilder uploaden in DB

    Erst die Daten in die DB schreiben, dann die Datei umbenennen mit Hilfe von http://de2.php.net/manual/de/functio...-insert-id.php Den Dateinamen musst du dabei ja noch nicht einmal in die DB speichern, da er ja immer aus der ID entsteht.

  7. #7
    Azubi(ne)
    Themenstarter

    Registriert seit
    05.06.2008
    Beiträge
    71
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Bilder uploaden in DB

    danke, das funktioniert jetzt.

  8. #8
    Bandit
    Gast

    Standard AW: Bilder uploaden in DB

    Zitat Zitat von sero79 Beitrag anzeigen
    danke, das funktioniert jetzt.
    Schön, dass mal jemand eine Rückmeldung gibt und sich auch bedankt. Ist leider keine Selbstverständlichkeit.

  9. #9
    Azubi(ne)
    Themenstarter

    Registriert seit
    05.06.2008
    Beiträge
    71
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Bilder uploaden in DB

    Da tut sich gleich wieder ein neues kleines Problemchen auf: wie kann man ein input feld mit type="file" auf Eingabe prüfen. es funktioniert irgendwie nicht mit dem name-attribut. Hast du ne Idee? Zur info es gibt mehrer dieser Felder, die unabhängig voneinander geprüft werden sollen.

    Thanks

  10. #10
    Bandit
    Gast

    Standard AW: Bilder uploaden in DB

    Mach mal ein
    PHP-Code:
    print_r($_FILES); 
    in dein Script, dann erkennst du selber, was du machen musst.

Ähnliche Themen

  1. Bilder uploaden
    Von im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 2
    Letzter Beitrag: 25.02.2007, 14:10
  2. problem bei uploaden
    Von im Forum HTML & CSS Forum
    Antworten: 7
    Letzter Beitrag: 02.02.2007, 16:54
  3. uploaden
    Von gast im Forum HTML & CSS Forum
    Antworten: 0
    Letzter Beitrag: 11.11.2006, 23:07
  4. Bilder uploaden
    Von Turbo im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 01.11.2005, 18:04
  5. bilder uploaden und verlinken - geht nicht!!!
    Von Panthera im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 4
    Letzter Beitrag: 13.09.2004, 22:48

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •