Also brauche ich ein wenig Hilfe hier. Ich habe eine Seite, die einige MP3s hostet. Wenn Benutzer auf die Download-URL klicken, verlinkt sie direkt auf eine Datei namens downloadmp3.php, die 2 Parameter in der URL beinhaltet ... die php-Datei ist unten enthalten, und sie soll den Benutzer zwingen, die mp3 zu speichern. (nicht im Browser oder irgendetwas spielen).PHP - Forcing einer MP3-Datei herunterladen
Das passiert nicht. Stattdessen scheint es so, als ob die Datei in ascii zum Browser SCHRIFTLICH ist. Es scheint, als wäre es die eigentliche mp3-Datei.
Hier ist meine downloadmp3.php Datei ... bitte, was ist falsch in diesem Code. Es funktioniert auf meinem lokalen LAMP (Bitnami Wampstack auf Windows) .... das heißt, in meiner lokalen Testumgebung, sendet es die Datei an meinen Browser, und ich kann es speichern. Wenn ich es auf den echten Server hochlade, schreibt es im Grunde die mp3-Datei aus.
Hier wird die Täter-Datei ist, downloadmp3.php ... Bitte nur Gastgeber mp3s
<?php
include 'ngp.php';
$file = $_GET['songurl'];
$songid = $_GET['songid'];
increasedownloadcount($songid);
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: audio/mpeg');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
ob_clean();
flush();
readfile($file);
exit;
}
?>
By the way, diese Seite helfen - kein anderes Audio- oder Dateiformat. Daher sollte dieses downloadmp3.php-Skript den Benutzer idealerweise fragen, wo er diese Datei speichern möchte.
Vielen Dank für Ihre Hilfe im Voraus.
Sie diese unterschiedlichen Ergebnisse zu erzielen sind (erzwungenes Herunterladen von localhost und geschrieben von Server) im selben Browser? Wenn verschiedene Browser, was sie sind? – PetrHejda
Ich arbeite sowohl in Chrome als auch in Firefox, und beide "spucken" die gleiche ausgelesene MP3-Datei aus. Bitte denken Sie daran, dass es mir die Datei auf meinem lokalen Rechner gibt. Es ist vom echten Web-Host, dass es die Ascii-Suppe gibt. – Hideyoshi