Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Muat Turun Fail Besar dengan Curl Tanpa Sarat Memori?

Bagaimanakah Saya Boleh Muat Turun Fail Besar dengan Curl Tanpa Sarat Memori?

Mary-Kate Olsen
Lepaskan: 2025-01-03 20:18:07
asal
234 orang telah melayarinya

How Can I Download Large Files with Curl Without Memory Overload?

Memuat Turun Fail Besar dengan Curl Tanpa Beban Memori

Apabila memuat turun fail jauh yang besar menggunakan cURL, tingkah laku lalai membaca keseluruhan fail ke dalam memori boleh menjadi masalah, terutamanya untuk data yang luas. Untuk menangani cabaran ini, pertimbangkan pendekatan yang dioptimumkan berikut:

Daripada membaca fail yang dimuat turun ke dalam memori, kami boleh menstrimnya terus ke cakera menggunakan kod yang diubah suai berikut:

<?php
set_time_limit(0);
// Specify the destination file to save the download
$fp = fopen(dirname(__FILE__) . '/localfile.tmp', 'w+');
// Replace spaces in the URL with %20 for proper handling
$ch = curl_init(str_replace(" ", "%20", $url));
// Set a high timeout value to prevent interruptions while downloading large files
curl_setopt($ch, CURLOPT_TIMEOUT, 600);
// Stream curl response to disk
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// Execute the download and close all resources
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
Salin selepas log masuk

Kod ini coretan memulakan cURL, menetapkan tamat masa yang sesuai dan mengkonfigurasinya untuk menulis respons terus ke fail yang ditentukan dan bukannya memuatkannya ke dalam memori. Dengan menstrim muat turun ke cakera, anda boleh mengurangkan penggunaan memori dengan ketara semasa mengendalikan fail besar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Muat Turun Fail Besar dengan Curl Tanpa Sarat Memori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan