heruntergeladene WAV-Datei wird nicht abgespielt

Ich bin Download einer WAV-Datei von meinem remote-server (Centos 5.8). mit dem folgenden PHP-Skript:

header('Content-Description: File Transfer');
header('Content-Type: audio/x-wav');
header('Content-Disposition: attachment; filename=' . basename($realLink));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($realLink));
ob_clean();
flush();
readfile($realLink);

Wenn ich versuche zu spielen, die heruntergeladene Datei entweder Windows Media Player oder Itunes, wird es nicht spielen. Obwohl die heruntergeladene WAV auf meinem Rechner hat eine Datei-Größe ist die gleiche wie die version der Datei auf dem server, die heruntergeladene Datei Eigenschaften anzeigen 00:00 Länge und wird nicht spielen. Auch die Datei herunter und spielt nur gut, wenn ich manuell laden Sie es per ftp. Die scheinbare Korruption nur passiert, wenn ich den obigen script zum download. Ich würde schätzen jede Hilfe mit diesem.

  • verwenden Sie content-type audio/vnd.wave oder application/octet-stream
  • versucht, diese beiden - audio/vnd.Welle und application/octet-stream. Machte keinen Unterschied. Die original-Datei ist x-wav-format, also korrigierte ich den code zu reflektieren. Immer noch das gleiche problem obwohl.
  • Haben Sie versucht, zu diff die beiden Dateien (original und korrupten download) oder öffne Sie in einem hex-editor, um den Unterschied zu sehen?
  • Danke! Das hat geholfen. Ich schaute auf die hex-Dateien und das problem gefunden. Ich bin mit Zend Framework und es stellt sich heraus, dass ich immer noch ein view Skript an das Steuergerät angeschlossen, wo diese Funktion implementiert ist. Die header-Funktion zum verbinden einer <div> - tag aus dem view-Skript mit der WAV-Datei. Es sah in den Daten, sobald ich habe in der hex-Ausgabe. Deaktiviert das view-script und es funktioniert Super jetzt!
  • haben Sie jemals finden eine Lösung für dieses? Im, der Schwierigkeiten hat aber ich glaube es ist, weil der content-disposition. Itunes doesnt wie es für einige Grund
InformationsquelleAutor gsinca | 2013-01-21
Schreibe einen Kommentar