Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Muat Turun Fail Besar dengan Curl Tanpa Melebihi Had Memori?
Memuat Turun Fail Besar dengan Curl: Alternatif untuk Membaca ke dalam Memori
Soalan: Bagaimana seseorang boleh mengatasi kekangan memori apabila memuat turun fail besar menggunakan curl, yang biasanya dibaca ke dalam ingatan?
Isu ini timbul dalam situasi di mana saiz fail melebihi memori yang tersedia pada pelayan. Pendekatan yang lebih cekap ialah menstrim fail terus ke cakera, memintas memori sepenuhnya.
Jawapan:
<?php set_time_limit(0); // Set the path to the target file $fp = fopen(dirname(__FILE__) . '/localfile.tmp', 'w+'); // Exchange spaces with %20 to ensure compatibility with URLs $ch = curl_init(str_replace(" ", "%20", $url)); // Extend the timeout value to accommodate large files curl_setopt($ch, CURLOPT_TIMEOUT, 600); // Directs curl to write response to file curl_setopt($ch, CURLOPT_FILE, $fp); // Automatically follows redirects curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Send request and receive response curl_exec($ch); curl_close($ch); fclose($fp); ?>
Dalam kod ini, pengubahsuaian berikut adalah kunci:
Atas ialah kandungan terperinci Bagaimana untuk Muat Turun Fail Besar dengan Curl Tanpa Melebihi Had Memori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!