2013-10-02 40 views
0

當使用get_headers()在部署應用PHP函數,如:谷歌應用程序引擎(PHP)響應太大

$aHeaders = get_headers("http://[...].mp3", 1); 
echo $aHeaders['Content-Length']; 

我收到以下錯誤:

PHP Warning: get_headers(http://[...].mp3): failed to open stream: Response too large in /base/data/home/apps/[...]/main.php

的當文件很小時(如100kb),不會出現錯誤。

我需要在外部服務器上獲取文件的大小,而無需下載它。另外,我不能使用curl,因爲GAE不支持它。有任何想法嗎?

回答

3

你是否嘗試做HEAD請求而不是GET(即下載所有內容)?

stream_context_set_default(
    array(
     'http' => array(
      'method' => 'HEAD' 
     ) 
    ) 
); 
$headers = get_headers('http://[...].mp3', 1); 
+0

謝謝,這樣做! – gipadm

+1

爲了完整起見,「響應太大」警告來自GAE對HTTP請求的32mb限制。 – gipadm