Der folgende Editor zeigt Ihnen ein Beispiel für das Herunterladen einer großen Remote-Datei in PHP (Ermitteln der Größe der Remote-Datei). Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor, um einen Blick darauf zu werfen
Kein Unsinn mehr, gehen Sie einfach 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;
Verwandte Empfehlungen:
PHP-DownloadRemote-DateiDetaillierte Definition und Verwendung der Klasse
Ob PHPRemote-DateiBeurteilungsmethode
Beispielanalyse, wie PHP bestimmt, ob lokale und Remote-Datei vorhanden sind
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen 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!