Php warning: feof()

Тема в разделе "PHP", создана пользователем judex, 18 мар 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. judex

    judex

    Регистр.:
    23 дек 2006
    Сообщения:
    234
    Симпатии:
    72
    подскажите как исправить ошибку:
    Код:
    PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /var/www/dwnld.php on line 16
    Код:
     PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /var/www/dwnld.php on line 17
    Вот эта часть кода на которую ссылаются логи:
    Код:
    15) $fp = fopen($file,"r");
    16) while (!feof($fp)){
    17) $data .= fread($fp, 1024);
    18) }
    19) fclose($fp);
    
    Спасибо! Сделал как написал BACZ, пока полет нормальный =)
     
  2. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    скорее всего файл $file не был открыт функцией fopen, проверьте существует ли файл и права доступа к нему...
     
  3. judex

    judex

    Регистр.:
    23 дек 2006
    Сообщения:
    234
    Симпатии:
    72
    дело в том что проверить этот файл я не могу так как этот файл на удаленном сервере откуда выдирается ссылка для скачивания файла и там не 1ин файл а очень много и каждый файл не проверить). Как можно сделать чтобы эта ошибка игнорировалась и не писалась в логи апача, логи пухнут.
     
  4. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    ну с файлами на удаленных серваках хз че делать, может люди подскажут... а чтоб не вываливались ошибки, попробуйте ставить знак @ перед функциями... @feof, @fopen, @fread и т.д.
     
  5. BACZ

    BACZ

    Регистр.:
    18 июн 2008
    Сообщения:
    608
    Симпатии:
    381
    ну надо не файл проверять, а то что $fp это ресурс а не FALSE.
    if (!($fp === FALSE))
    { //код}

    или проверять что is_resource($fp) === true
     
    judex нравится это.
Статус темы:
Закрыта.