내 제공자가 fopen()을 허용하지 않습니다. 그래서 저는 대신 파일을 다운로드하기 위해 컬 (curl)을 사용했습니다. 그러나 이는 서버 시간 초과 및 메모리 제한으로 인해 작은 파일 (< 100MB)에 대해서만 작동합니다. 그리고 대용량 파일 (1GB)을 다운로드해야합니다.fopen()없이 대용량 파일을 다운로드 하시겠습니까?
큰 파일을 다운로드 할 수있는 다른 방법이 있습니까?
$file = $_GET['dateiUrl'];
//set header
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-Type: application/force-download');
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=" . basename($file));
//curl part
set_time_limit(0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_URL, $file);
$data = curl_exec($ch);
curl_close($ch);
//output
echo $data;
http://php.net/manual/en/function.ftp-get.php을 - FTP ?? –
당신은 exec()'wget'을 백그라운드 작업으로 할 수 있습니다. 이것은 PHP 컨트롤에서 (대부분) 전송을 발생시킵니다. –