PHP を使用してファイルをダウンロードする場合、ファイル サイズを取得できないという問題が発生することがあります。この問題は、次の理由で発生する可能性があります。
それでは、この問題をどうやって解決すればいいのでしょうか?参照用の解決策をいくつか示します。
$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);
まとめると、PHP が動作しない問題を解決する必要があります。ファイルのダウンロード時にファイル サイズを取得できるため、CURL を使用するか、サーバーの応答ヘッダーを直接取得してファイル サイズを取得できます。これらの方法は、PHP 開発者がファイルのダウンロード プロセスをより適切に管理および制御し、ユーザー エクスペリエンスとアプリケーションのパフォーマンスを向上させるのに役立ちます。
以上がPHPダウンロード時にファイルサイズが取得できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。