tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
287
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    bluemirko bluemirko ist offline Rookie
    Registriert seit
    Mar 2004
    Ort
    Hamburg
    Beiträge
    7
    Hallo Leute,

    ich such jetzt schon ne ganze Weile im Forum rum, bin aber nicht wirklich fündig geworden. Ich hab mir eine simple download.php geschrieben die mir meine Sound- und Pdf-Dateien ohne Rechtsklick "Speichern unter..." laden kann. Klappt auch alles wunderbar, nur hab ich noch zwei kleine Probleme die ich gern noch behoben hätte:

    - Der Dateiname ändert sich beim downloaden von download/datei.mp3 nach download - datei.mp3. Wie bekomme ich nur datei.mp3 hin?

    - Die Größe wird vom Download-Manager (ich verwende den handelsüblichen von Firefox) nicht geladen/ angezeigt. Dadurch gibt es keine Statusanzeige. Wie kann ich das Problem beheben?

    Hier nun noch der Quellcode:

    PHP-Code:
    <?

    if (isset($_GET["id"])) $id $_GET["id"]; else die();

    $conn mysql_connect("localhost""xxxxxxxxx""xxxxxxxxxx");
    if (!
    $conn) { die("die datenbank wurde nicht gefunden."); }
    mysql_select_db("xxxxxxxxxx",$conn);

    $res mysql_query("SELECT * FROM mirko_download WHERE id = '$id'");
    $row mysql_fetch_array($res);
    $filename $row["filename"];
    $mime $row["mime"];

    header("Content-Disposition: attachment; filename=$filename");
    header("Content-Lenght: ".filesize($filename));
    header("Content-Type: ".$mime);

    readfile($filename);


    ?>
    Bitte helft

    Liebe Grüße Mirko
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Versuch mal folgendes:
    PHP-Code:
    <?php
      
    if( isset($_GET["id"]) ) $id $_GET["id"]; else die();

      if( !
    $conn mysql_connect("localhost""xxxxxxxxx""xxxxxxxxxx") ) {
        echo 
    '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'</p>';
        exit;
      }
      
    mysql_select_db("xxxxxxxxxx",$conn);

      
    $query "
        SELECT
                `filename`,
                `mime`
          FROM
                `mirko_download`
          WHERE
                `id` = '"
    .$id."'
        "
    ;
      if( !
    $res mysql_query($query) ) {
        echo 
    '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
        exit;
      }
      
    $row mysql_fetch_array($resMYSQL_ASSOC);

      
    header('Content-Type: '.$row['mime'].'; name="'.$row['filename'].'";');
      
    header('Content-Disposition: attachment; filename="'.$row['filename'].'";');
      
    header('Content-Lenght: '.filesize($row['filename']).' bytes');

      
    readfile($row['filename']);
    ?>
     
    Markus Wulftange

  3. #3
    bluemirko bluemirko ist offline Rookie
    Registriert seit
    Mar 2004
    Ort
    Hamburg
    Beiträge
    7
    Hab ich ausprobiert, aber trotzdem das gleiche Ergebnis. Ich denke auch nicht dass es ein MySQL Fehler ist, das wird alles richtig übergeben... Und das mit "name=..." zeigt auch keine Wirkung. Es wird weiterhin "download-misty.mp3" angezeigt und ne Länge wird immernoch nicht erkannt.

    Kann es mit dem Namen vielleicht daran liegen dass die Datei misty.mp3 im Verzeichnis download liegt? In der Tabelle steht als Filename download/misty.mp3

    Liebe Grüße
     

  4. #4
    bluemirko bluemirko ist offline Rookie
    Registriert seit
    Mar 2004
    Ort
    Hamburg
    Beiträge
    7
    Okay, *lach*, ich hab das Problem gelöst. Für die die es nochmal brauchen:

    Das mit dem Filename habe ich mit der Funktionen "basename" gelöst:

    PHP-Code:
    header("Content-Disposition: attachment; filename=".basename($row["filename"])); 
    Und das mit der Dateigröße die er nicht erkannt hat beruhte auf einem Schreibfehler. Ich habe dummerweise "Content-Lenght" anstatt "Content-Length" geschrieben....

    Trotzdem nochmal danke für die Mühe.

    Liebe Grüße Mirko
     

Ähnliche Themen

  1. Antworten: 14
    Letzter Beitrag: 09.03.07, 16:31
  2. JTree breitet große Probleme, kann uns bitte jemand helfen!!
    Von chaosteam im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 04.01.07, 16:33
  3. Probleme mit index und ubound befehl kann mir wer helfen
    Von josefhader im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 23.08.04, 21:04
  4. Antworten: 2
    Letzter Beitrag: 30.06.04, 11:20
  5. Viele Probleme..kann Jemande Helfen ?
    Von Da Damn Cam im Forum Linux & Unix
    Antworten: 10
    Letzter Beitrag: 20.02.04, 14:18