Download aus Datenbank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Download aus Datenbank

    Ich weis nicht ob das Thema hier hergehört oder ins PHP-Forum aber wir werden sehen

    Ich speicher in einer Datenbank exe & zip-Archive.
    Reinschreiben der Files und Downloaden der Files funktioniert.

    Mein problem ist nur, dass wenn das File mal in der Datenbank war wird es nicht mehr als Zip-Archiv anerkannt!

    So als ob das ding seinen Header verloren hat.

    also hier mal alles was ich so an information anbieten kann
    bei weiteren Fragen meldet euch einfach.

    Datenbankdefinition:

    PHP-Code:
    ID              int(11auto_increment
    filename        
    varchar(50)
    filesize        varchar(50)
    filetype        varchar(50)
    fileinfo        varchar(100)
    filedescription blob
    file            
    longblob 
    so werden die Daten in die Datenbank eingelesen:

    PHP-Code:
    ...

    if (isset(
    $binFile) && $binFile != "none") {
    # Datei einlesen
    $data addslashes(fread(fopen($binFile"rb"), filesize($binFile)));
    # Kurzbeschreibung einlesen            
    $strDesc addslashes(nl2br($mod[description]));
    # SQL definieren und ausführen
    $sql "INSERT INTO ".$dbf."(filename, filesize, filetype, fileinfo, filedescription, file) "
          
    ."VALUES ('".$binFile_name."', '"
                        
    .$binFile_size."', '"
                        
    .$binFile_type."', '"
                        
    .$mod[fileinfo]."', '"
                        
    .$strDesc."', '"
                        
    .mysql_escape_string($data)."')";
    $resf mysql_query($sql$cx)
            or die (
    "'".db_puterror(mysql_error(),mysql_errno())."'");

    ... 
    und so sieht das Downloadscript aus:

    PHP-Code:
    if ($id_files) {
      include 
    "includes/config.inc.php";
      
    $db db_connect($adb);
      
    $sql "SELECT file, filetype, filename, filesize FROM ".$dbf." WHERE ID=$id_files";
        
      
    $result = @mysql_query($sql$db);
      
    $fdata = @mysql_result($result0"file");
      
    $fname = @mysql_result($result0"filename");
      
    $fsize = @mysql_result($result0"filesize");
      
    $ftype = @mysql_result($result0"filetype");
        
      
    header("Content-type: $ftype");
      
    header("Content-length: $fsize");
      
    header("Content-Disposition: attachment; filename=$fname");
      
    header("Content-Description: PHP generated Data");
      echo 
    $fdata;

    Bitte um HILFE!!!

    Schönen Dank schon mal.

  • #2
    ich würde die dateien einfach nur in einem ordner ablegen und den pfad der datei in der datenbank speichern.

    Kommentar


    • #3
      @RazorCko

      Leider darf ich dass nicht.
      Glaubst du ich mach des aus Spass??

      Die Aufgabenstellung von dem Projekt ist so definiert und wenn Sie so haben wollen soll'n Sies so kriegen

      Nichts gegen dich RazorCko

      Kommentar

      Lädt...
      X