PHP Header Content-Disposition: attachment Kräfte .php-Datei oder inline

Ich soll zum laden einer einzelnen .mp3-Datei von meiner Seite aus aber bei der Verwendung dieses Codes ist Kräfte ein .php in Firefox und Safari. Aber im chrome wird es senden zwingen, die Datei als inline-und spielen auf der Seite. Wie bekomme ich Sie tatsächlich herunterladen .mp3-Datei?

$track = $_SERVER['QUERY_STRING'];

if (file_exists("/home/user/gets/" .$track)) {
    header("Content-Type: audio/mpeg");
    header('Content-Length: ' . filesize($track));
    header('Content-Disposition: attachment; filename="test.mp3"');
    $str = "/home/user/gets/".$track;
    readfile($str); 
    exit;
} else {
    header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
    echo "no file";
}

Habe ich auch versucht download .zip-Datei und ändern des Content-Type auf application/ocetet-stream, aber es zwingt .php-Dateien auf allen Browsern.

//$track = $_SERVER['QUERY_STRING'];
$track = 'testfile.zip';
if (file_exists("/home/user/gets/" .$track)) {
    header("Content-Type: application/octet-stream");
    header('Content-Length: ' . filesize($track));
    header('Content-Disposition: attachment; filename="test.mp3"');
    $str = "/home/user/gets/".$track;
    readfile($str); 
    exit;
} else {
    header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
    echo "no file";
}
Ich denke filesize($track) ist falsch, es sollte der ganze Pfad filesize("/home/user/gets/".$track)

InformationsquelleAutor rubio | 2012-08-16

Schreibe einen Kommentar