Определить размер удаленного файла

r3m1x

Новичок
function size($path)
{
$fp = fopen($path,"r");
$inf = stream_get_meta_data($fp);
fclose($fp);
foreach($inf["wrapper_data"] as $v)
if (stristr($v,"content-length"))
{
$v = explode(":",$v);
return trim($v[1]);
}
}

echo size('http://cs550.vkontakte.ru/u7915296/audio/7c802c369c1b.mp3');

Возвращается 404, хотя файл существует. Пробовал с др. серверов, все ок. В чем может быть дело?

PS: api vk, через ajax хочу определить размер файла. Надеюсь это не относится к: "Варез, взлом, кража контента..."http://phpclub.ru/talk/threads/fopen-возвращает-404.68858/
 

fixxxer

К.О.
Партнер клуба
PHP:
~$ curl -I http://cs550.vkontakte.ru/u7915296/audio/7c802c369c1b.mp3
HTTP/1.1 404 Not Found
Server: nginx/0.7.59
Date: Fri, 29 Jul 2011 18:11:24 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive
Возвращается 404, хотя файл существует
"Видишь суслика? — Нет. — И я не вижу. А он есть!"
 

r3m1x

Новичок
Вурдалак,
При том, что такую же тему закрыли и я так понимаю по причине "кража контента". В этой теме я указал, что url получаю через API и красть ничего не собираюсь.
fixxxer, вижу:
PHP:
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> from urllib2 import urlopen
>>> print urlopen('http://cs550.vkontakte.ru/u7915296/audio/7c802c369c1b.mp3').info()
Server: nginx/0.7.59
Date: Sat, 30 Jul 2011 11:54:44 GMT
Content-Type: audio/mpeg
Content-Length: 5386375
Last-Modified: Tue, 27 Jan 2009 18:23:12 GMT
Connection: close
Expires: Tue, 16 Aug 2011 11:54:44 GMT
Cache-Control: max-age=1468800
Accept-Ranges: bytes
>>>
 

fixxxer

К.О.
Партнер клуба
PHP:
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from urllib2 import urlopen
>>> print urlopen('http://cs550.vkontakte.ru/u7915296/audio/7c802c369c1b.mp3').info()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 124, in urlopen
    return _opener.open(url, data, timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 389, in open
    response = meth(req, response)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 502, in http_response
    'http', request, response, code, msg, hdrs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 427, in error
    return self._call_chain(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 361, in _call_chain
    result = func(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line 510, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found
Читай доки по апи. Может там для каждого IP своя ссылка или что-то вроде того.
 
Сверху