Handhabung großer Dateidownloads mit Curl: Streaming auf die Festplatte
Das Herunterladen großer Dateien mit Curl kann aufgrund von Speicherbeschränkungen eine Herausforderung sein. Die herkömmliche Methode, bei der die gesamte Datei in den Speicher eingelesen wird, bevor sie auf die Festplatte geschrieben wird, kann zu Leistungsproblemen führen. Um diese Einschränkung zu überwinden, sollten Sie die Datei direkt auf die Festplatte streamen.
Hier ist eine Lösung, die die Funktion „curl_setopt()“ verwendet, um die Option „CURLOPT_FILE“ zu konfigurieren. Diese Option gibt einen Dateizeiger an, in den Curl die heruntergeladenen Daten direkt schreiben kann:
set_time_limit(0); // Disable PHP time limit // Open a file for writing $fp = fopen(dirname(__FILE__) . '/localfile.tmp', 'w+'); // Initialize curl $ch = curl_init(str_replace(" ", "%20", $url)); // Set timeout to a high value curl_setopt($ch, CURLOPT_TIMEOUT, 600); // Write curl response to file curl_setopt($ch, CURLOPT_FILE, $fp); // Follow any redirects curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Execute curl curl_exec($ch); // Close curl and file handlers curl_close($ch); fclose($fp);
In diesem verbesserten Code:
Mit dieser Technik kann Curl die heruntergeladenen Daten direkt auf die Festplatte streamen und dabei die Speicherbeschränkungen umgehen und ermöglicht eine effiziente Handhabung großer Dateien.
Das obige ist der detaillierte Inhalt vonWie kann Curl große Dateidownloads direkt auf die Festplatte streamen, um Speicherprobleme zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!