Wenn Sie PHP zum Herunterladen von Dateien verwenden, kann es manchmal vorkommen, dass Sie die Dateigröße nicht ermitteln können. Dieses Problem kann aus folgenden Gründen auftreten:
Wie kann man dieses Problem lösen? Hier sind einige Lösungen als Referenz:
$url = 'http://example.com/file.zip'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $data = curl_exec($ch); $fileSize = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD); curl_close($ch);
$url = 'http://example.com/file.zip'; $opts = array( 'http' => array( 'method' => 'HEAD' ) ); $context = stream_context_create($opts); $fp = fopen($url, 'r', false, $context); $meta = stream_get_meta_data($fp); foreach ($meta['wrapper_data'] as $value) { if (stristr($value, 'content-length')) { $content_length = (int) trim(substr($value, 15)); } } fclose($fp);
Zusammenfassend lässt sich das Problem lösen, dass PHP beim Herunterladen von Dateien die Dateigröße nicht ermitteln kann Sie können CURL verwenden oder direkt den Server-Antwortheader abrufen, um die Dateigröße abzurufen. Diese Methoden können PHP-Entwicklern helfen, den Datei-Download-Prozess besser zu verwalten und zu kontrollieren und so die Benutzererfahrung und Anwendungsleistung zu verbessern.
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass beim Herunterladen von PHP die Dateigröße nicht angezeigt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!