Heim > Artikel > Backend-Entwicklung > Beispiel für das Herunterladen einer großen Remote-Datei durch PHP (Ermitteln der Remote-Dateigröße)
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
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;
Das obige ist der detaillierte Inhalt vonBeispiel für das Herunterladen einer großen Remote-Datei durch PHP (Ermitteln der Remote-Dateigröße). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!