를 통해 파일을 스트리밍, 내가 PHP를 통해 스트리밍 싶습니다 기압 나는 다음과 같은 코드가 있습니다는 PHP
업데이트 된 코드를
이 내가 phihag에서 복사 한 코드입니다, 하지만 코드가 파일을 다운로드하지 못하면 반환하고 파일을 비 웁니다!
$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;
}
나던 작업 위의 코드는, 어떤 이유로 그것은 if 문을 전달받을 나던, 그리고 내가 ifstatement를 제거 할 때 그것은 빈 파일을 다운로드! 파일은 내가 액세스 할 수없는 원격 서버에 저장됩니다.
감사
감사합니다. 그러나 지금은 파일을 다운로드하지 않았습니다. – ahoura
@ahoura'fopen'은 전체 코드 발췌에서 한 번만 호출해야하며 후자를 제거해야합니다. 또한, 먼저 파일을 다운로드 할 수 있는지 확인하십시오. – phihag
이봐, 내가 수동으로했기 때문에 나는 파일을 다운로드 할 수 있다고 확신하지만, 나는 당신이 의미하는 바를 이해하지 못한다. ... – ahoura