За последние 24 часа нас посетили 59124 программиста и 1814 роботов. Сейчас ищут 948 программистов ...

Размер файл на удаленном сервере

Тема в разделе "Прочие вопросы по PHP", создана пользователем Bagir, 17 окт 2007.

  1. Bagir

    Bagir Активный пользователь

    С нами с:
    4 июл 2007
    Сообщения:
    40
    Симпатии:
    0
    надо узнать размер файла на удаленном сервере, функции stat и filesize не помогли, как по другому узнать?
     
  2. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Код (Text):
    1. $fp = fopen('http://dl.playground.ru/DB2/7/5/UT3BetaDemo.exe', 'r');
    2. $fr = stream_get_meta_data($fp);
    3. $len = 0;
    4.  
    5. foreach ($fr['wrapper_data'] as $header)
    6.     if (strpos($header, 'Content-Length:') !== false)
    7.         $len = (int)substr($header, 18);
    8.  
    9. echo 'Длинна файла '.$len.', которую тебе придётся перевести в человеко-понятную, если надо.';
     
  3. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Можно ещё и через сокеты методом HEAD.
    PHP:
    1. <?php
    2. if ($f = fsockopen('dl.playground.ru', 80)) {
    3.     fputs($f, "HEAD /DB2/7/5/UT3BetaDemo.exe HTTP/1.1\r\n");
    4.     fputs($f, "Host: dl.playground.ru\r\n");
    5.     fputs($f, "Connection: Close\r\n\r\n");
    6.  
    7.     while (!feof($f)) {
    8.         $str = fgets($f, 1024);
    9.  
    10.         if (strpos($str, 'Content-Length') === 0) {
    11.             print 'Размер файла: ' . substr($str, 15) . ' байт';
    12.             break;
    13.         }
    14.     }
    15.  
    16.     fclose($f);
    17. }
     
  4. Bagir

    Bagir Активный пользователь

    С нами с:
    4 июл 2007
    Сообщения:
    40
    Симпатии:
    0
    всем спасибо за помощ