아래 편집기는 PHP에서 대용량 원격 파일을 다운로드하는 예를 보여줍니다(원격 파일의 크기 가져오기). 에디터가 꽤 좋다고 생각해서 지금 공유해서 참고용으로 올려보겠습니다. 편집기를 따라가며 함께 살펴봅시다
더 이상 고민할 필요 없이 바로 코드로 넘어가겠습니다
<?php // 暂不支持断点续传 // $url = 'http://www.mytest.com/debian.iso'; 不知道为何获取本地文件大小为0 $url = 'http://192.168.8.93/download/vm-672/18/0.vmdk'; $file = basename($url); $header = get_headers($url, 1); $size = $header['Content-Length']; $fp = fopen($url, 'rb'); if ($fp === false) exit('文件不存在或打开失败'); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.$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: ' . $size); ob_clean(); ob_end_flush(); set_time_limit(0); $chunkSize = 1024 * 1024; while (!feof($fp)) { $buffer = fread($fp, $chunkSize); echo $buffer; ob_flush(); flush(); } fclose($fp); exit;
관련 권장 사항:
PHP 다운로드원격 파일정의에 대한 자세한 설명 및 클래스의 사용
remote fileshp를 판단하는 방법으로서 지역 및 리모트 파일에 존재하는지 여부를 판단하는 방법의 예입니다.
위 내용은 PHP에서 원격 대용량 파일을 다운로드하는 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!