2011-01-07 7 views
4

In meinem Programm möchte ich eine Download-Option hinzufügen, um die gerade straming Video herunterladen. Ich habe versucht, diesen Code:wie man das Video mit PHP-Skript herunterladen

$psp = "Tom_20_amp__20Jerry_20race-1.flv"; 
header("Content-type:application/octet-stream"); 
header("Content-Disposition:attachment;filename=$psp"); 

Aber ich bekomme diese Fehlermeldung:

"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Tom_20_amp__20Jerry_20race-1-5.flv" is not a valid FLV file.

das Video-Streaming richtig. bitte leite mich

Antwort

6

Ändern Sie aus Header sind:

header("Content-type:application/octet-stream"); 

An:

header("Content-type: video/flv"); 

Dann können Sie tun:

header("Content-Disposition:attachment;filename=\"$psp\""); 
//allways a good idea to let the browser know how much data to expect 
header("Content-length: " . filesize($psp) . "\n\n"); 
echo file_get_contents($psp); //$psp should contain the full path to the video 
+0

danken Sie so sehr seine Arbeit gut, aber es automattically den Player öffnen und Streaming die heruntergeladene vedio ist es anyother Art und Weise, dass – Meena

+0

zu stoppen, die higly auf dem Browser, zum Beispiel in FF hängt, wenn ich whant ein mp3 zum Download Ich muss immer auf "verknüpfte Datei speichern" klicken, wenn ich auf den Link klicke, wird der Player wie in Ihrem Fall gestartet. dann muss ich zur Akte gehen und Akte als, speichern, wenn in IE es beginnt, automatisch herunterzuladen, wenn ich den Link klicke. Dies ist, wie Browser normalerweise mit Downloads umgehen (i gues Sie können dieses Verhalten in Ihren Browsereinstellungen deaktivieren, aber wenn ein Benutzer diese Einstellung hat, gibt es keine Möglichkeit, Sie zu stoppen) –

+0

Vielen Dank für Ihre schnelle Antwort in Meine Anwendung Ich lade alle Arten von Videos, also wenn ich Header ("Content-Typ: video/flv"); im Header-Teil dann lade ich das AVI Video es irgendein Problem oder ich sollte alle Header in meinem Code hinzufügen/ – Meena

1

Wenn Sie Dateien zu ermöglichen, suchen nach heruntergeladen werden, anstatt zu streamen, dann sollte so etwas funktionieren. Sie müssen natürlich die Pfade ändern.

// We'll be outputting a PDF 
header('Content-type: application/pdf'); 

// It will be called downloaded.pdf 
header('Content-Disposition: attachment; filename="download.pdf"'); 

// The PDF source is in original.pdf 
readfile('original.pdf'); 

EDIT

In Ihrem Fall wird es so etwas wie dieses.

// We'll be outputting a video 
header('Content-type: video/flv'); 

// It will be called video.flv 
header('Content-Disposition: attachment; filename="video.flv"'); 

// The PDF source is in original.flv 
readfile('original.flv'); 
+1

Senden eines FLV mit PDF-Header wird ihn in der gleichen Situation wie er jetzt ist. –

+0

Ja, ich habe gerade festgestellt, dass ich es bereits in einen Schnitt gebracht habe. – Olical

Verwandte Themen