php下載flv文件或者mp4文件無法播放

科技 未結(jié) 3 574

php下載flv文件或者mp4文件無法播放

想通過POST傳輸flv播放地址或者mp4播放地址然后直接下載,下載很容易,直接接收POST數(shù)據(jù),POST過來的數(shù)據(jù)格式類似:http://a.com/1.flv,然后通過PHP下載,測試了兩種方法(只貼出來了用于下載的簡化代碼):

<?php$url = implode($_POST); $file = file_get_contents($yes); header("Content-Disposition:attachment;filename=1.flv"); echo $file;?>

或者:

<?php$url = implode($_POST); header("Content-type:video/mpeg4"); header("Content-Disposition:attachment;filename=1.flv"); readfile($url); exit;?>

然后成功下載1.flv文件,但是下載后不可以播放,使用linux直接wget http://a.com/1.flv下載的就可以播放。通過PHP直接下載的打開就會出現(xiàn)錯誤:

對比文件大小發(fā)現(xiàn)不可以播放的多了3個字節(jié):

然后vim編輯發(fā)現(xiàn)文件開頭確實多了3個字節(jié),但是不知道怎么多的,刪除這3個字節(jié)就可以播放:

網(wǎng)上找了找找不到答案,一點這方面的東西也找不到。。實在不知道哪兒的問題了,大神幫忙解答一下吧= =

3條回答
提交回復(fù)