Как узнать размер файла на удаленном сервере?

Автор: content Понедельник, Апрель 9th, 2012 Нет комментариев

Рубрика: Язык PHP

Первый способ: скачать и посмотреть. Второй способ описан здесь.

Вступление. Чтобы это сделать, надо открыть сокет (установить соединение с удаленным веб-сервером). Сокет — это файл, в который можно писать и читать. Далее в сокет (как в файл) надо написать заголовок (HEAD filename …). После считать из сокета то, что нам напишут. Для начала выведите это на экран, чтобы было понятно, что именно вам возвращают. В ответе сервера, что мы считаем, будет много полезной информации — тип и ОС сервера, дата модификации и размер файла, другая информации. Все, что надо — выдрать из текста нужное число и вывести его на экран.

<?php

$fname='/path-to-file/big-big-big.mpg';
$fhost='www.super-mega.ru';

$x=0;
$fp = fsockopen($fhost, 80, &$errno, &$errstr, 30) or die("облом");

fputs($fp,"HEAD $fname HTTP/1.0\nHOST: $fhost\n\n");
while(!feof($fp)) $x.=fgets($fp,128);
fclose($fp);

if (ereg("Content-Length: ([0-9]+)",$x,$size)) echo "Размер файла $size[1] байт";
else echo "Определить невозможно";

?>

Автор: Дмитрий Бородин

Источник: http://www.php.su/articles/?cat=fs&page=001

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты