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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke
filesize($track)
ist falsch, es sollte der ganze Pfadfilesize("/home/user/gets/".$track)
. Dies würde bewirken, dass php die Ausgabe der Fehlermeldungen, die verhindern, dass Sie von der Einstellung der Inhalte-Länge und-disposition-header.InformationsquelleAutor Musa
Versuchen Sie, die Zitate aus den Dateinamen:
Immer den Namen des Skripts anstatt des Dateinamens, den Sie versuchen zu verwenden, ist im Allgemeinen ein Zeichen, dass der Dateiname enthält ungültige Zeichen für das Dateisystem des Browsers zu speichern versuchen. z.B.
"
ist nicht gestattet.InformationsquelleAutor Marc B