在使用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中文網其他相關文章!