Der folgende Editor zeigt Ihnen ein Beispiel für das Herunterladen einer großen Remote-Datei in PHP (Erhalten der Größe der Remote-Datei). Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor, um einen Blick darauf zu werfen
Ohne weitere Umschweife gehen wir direkt zum Code
<?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;
Der obige Artikel ist ein PHP-Download-Remote Das Beispiel einer Datei (Ermitteln der Remote-Dateigröße) ist der gesamte vom Editor freigegebene Inhalt. Ich hoffe, dass es Ihnen eine Referenz geben kann, und ich hoffe, dass Sie Script Home unterstützen.
Das obige ist der detaillierte Inhalt vonBeispiel für das Herunterladen großer Remote-Dateien in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!