簡體   English   中英

PHP Curl獲取下載文件大小

[英]PHP Curl to get a download filesize

我在兩個不同的服務器中使用此腳本:

function curlGetFileInfo($url, $cookies="default"){
global $_config;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'serverpath/cookies/'.$cookies.'.txt');
$data = curl_exec($ch);
curl_close($ch); 
if ($data === false) { 
    return 0;
}
//echo $data;   
$info['filename'] = get_between($data, 'filename="', '"');
$info['extension'] = end(explode(".",$info['filename']));
if (preg_match('/Content-Length: (\d+)/', $data, $matches)) {
  $info['filesize'] = (int)$matches[1];
}
return $info;
}

這些服務器具有相同的PHP版本,具有相同的PHP-Curl版本。 這些是curl結果的兩個不同標題:

工作一:

HTTP / 1.1 302發現日期:2012年6月12日星期二07:04:35 GMT服務器:Apache / 2.2.16(Debian)X-Powered-By:PHP / 5.3.3-7 + squeeze13到期日:1981年11月19日星期四08:52:00 GMT Cache-Control:no-store,no-cache,must-revalidate,post-check = 0,pre-check = 0 Pragma:no-cache位置: http//stor1076.uploaded.to/ dl / b3411ded-0f45-4efc-b705-8c8ac89b5e41變化:接受編碼連接:關閉內容類型:text / html HTTP / 1.1 200 OK服務器:nginx / 1。0。5日期:星期二,2012年6月12日07:04:35 GMT內容類型:video / x-msvideo內容 - 長度:733919232最后修改時間:2012年5月29日星期二15:10:07 GMT連接:keep-alive內容 - 處置:附件; filename =“Saw。[Spanish.DVDRip]。[XviD-Mp3] .by.SDG.avi”Accept-Ranges:bytes

不工作的:

HTTP / 1.1 302發現日期:2012年6月12日星期二07:05:26 GMT服務器:Apache / 2.2.16(Debian)X-Powered-By:PHP / 5.3.3-7 + squeeze13到期日:1981年11月19日星期四08:52:00 GMT Cache-Control:no-store,no-cache,must-revalidate,post-check = 0,pre-check = 0 Pragma:no-cache位置: http//stor1164.uploaded.to/ dl / 22c3d242-365d-4e1e-b903-f1e2b81812c2變化:接受編碼連接:關閉內容類型:text / html

Cookies設置好(登錄),其他簡單的Curl功能正常。

另外,我做了一個curl_getinfo($ch, CURLINFO_HTTP_CODE)並給我結果:

工作一: 200

不工作的: 302

任何的想法?

在工作中,您似乎正在運行Apache以及nginx 您可以看到有兩個HTTP響應:

HTTP / 1.1 302發現日期:2012年6月12日星期二07:04:35 GMT服務器:Apache / 2.2.16(Debian)HTTP / 1.1 200 OK服務器:nginx / 1.0.5

因此,您的設置有所不同。 我不知道它們是如何一起運行的,但這提供了一些見解並可能幫助您解決它: http//kbeezie.com/view/apache-with-nginx/

好的,這是一個open_basedir問題。 多謝你們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM