2012-02-22 3 views
0

Если я знаю FLV видео, , например:Как узнать размер размера flv от url?

www.domain.com/video.flv 

Я не могу использовать «размер_файла», потому что он не в состоянии проверить размер от внешнего URL, верно?
Итак, как я могу узнать его размер?

ответ

2

Вы можете использовать CURL для получения заголовков удаленного файла, включая размер файла.

$url = 'http://www.domain.com/video.flv'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_NOBODY, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$headers = curl_exec($ch); 

$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD); 

curl_close($ch); 

Установка CURLOPT_NOBODY истинно, делает CU не загружать тело запрашиваемого URL.

+0

Спасибо, это работает. :) – user1123379

0

Вы можете использовать CURL для отправки запроса HTTP HEAD на URL-адрес, по которому вы хотите узнать размер файла. Сервер должен отправить обратно заголовок длины контента в свой ответ, указав размер файла в октетах (байтах).

Сервер, однако, не обязательно отправляет заголовок содержания. Если это не так, то ваш единственный вариант - фактически загрузить файл в полном объеме.

0

Я не могу использовать «размер файла», потому что он не может проверить размер с внешнего URL-адреса, не так ли?

Да can сделать это, но это немного смешно, чтобы сделать это, потому что URL обертки будут сначала скачать файл, а затем проверьте его размер.

Вы можете сделать запрос HEAD, который будет запрашивать у сервера размер файла без запроса данных файла.