以上のファイル:、これは私がphihagからコピーしたコードであるストリーム私はFLVファイルを持っている、と私はPHPの上にストリーミングしたい、ATM、私は次のコードを持っているPHP
更新されたコード
をしかし、今コードはファイルをダウンロードしません、それは空のファイルを返します!
$file = $_GET['url'];
if ((substr($file, 0, 7) != 'http://') && (substr($file, 0, 8) != 'https://')) {
die('You have to specify an HTTP URL');
}
$f = fopen($file, "rb"); // b is required on Windows
if ($f !== false) {
header('Content-Description: File Transfer');
header('Content-Type: application/flv');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
$f = fopen($_GET['file'], "r");
while(!feof($f)) {
echo fread($f,8192);
}
fclose($f);
exit;
}
doesntの仕事上のコードでは、何らかの理由では、if文を渡されるdoesntの、そして私はifstatementを削除するときには、空のファイルをダウンロードします!!!ファイルは私がアクセスできないリモートサーバに保存されていることに注意してください。
おかげ
ありがとう、しかし今、そのファイルをダウンロードしていない、その空のファイルを返す〜! – ahoura
@ahoura 'fopen'はコード全体の抜粋の中で一度だけ呼び出され、後者は削除されます。また、最初にファイルをダウンロードできることを確認してください。 – phihag
ねえ、私は手動でやったのでファイルをダウンロードできると確信していますが、あなたが意味することは理解できません。 – ahoura