Datei in MySQL-Datenbank - Blob-Feld



  • Hallo zusammen,

    ich habe folgendes Problem:

    Ein Benutzer lädt eine Datei (pdf,html,exe,com,etc.) auf den Webserver. Von dort aus soll sie in eine MySQL-Datenbank.

    Ich weiß das sich darüber, ob es sinnvoll ist Files in der Datenbank zu speichern die Geister scheiden... Aber es wird halt so verlangt...

    Ich habe folgenden Code um die Datei abzulegen:

    if(!$fp = fopen($ADMIN[directory]. "/" .$picture1, "rb"))
    {
        die ("Error");
    }
    
    while (!feof($fp))
    {
        $content = fread($fp,filesize ($ADMIN[directory]. "/" .$picture1));
    }
    fclose ($fp);
    
    $query = "INSERT INTO doc_documents (cat_id,lang_id,titel,description,content,user_add_mail,time,active) VALUES ('" .$cat_id. "','" .$lang_id. "','" .$titel. "','" .$description. "','" .$content. "','" .$unser_add_mail. "','" .$time. "','" .$active. "')";
    $result = mysql_query($query) or die("Anfrage fehlgeschlagen");
    

    Aber irgendwie schreib er mir nur ein kleines Bruchstück...

    Was mache ich falsch???

    Gruß
    Dominique



  • Original erstellt von <handyman>:
    **```
    while (!feof($fp))
    {
    content=fread(content = fread(fp,filesize (ADMIN[directory]."/".ADMIN[directory]. "/" .picture1));
    }

    
      
      
    Aber irgendwie schreib er mir nur ein kleines Bruchstück...  
      
    Was mache ich falsch???  
      
    Gruß  
    Dominique**
    

    Hi, versuch es mal so:

    while (!feof($fp))
    {
        $content .= fread($fp,filesize ($ADMIN[directory]. "/" .$picture1));
    }
    

    Du hast durch Deine While-Schleife immer nur den letzten Durchlauf in deiner $content Variable.

    Gruß,
    mid



  • Danke!!
    Da lag der Fehler!!

    Handyman


Anmelden zum Antworten