Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Оператор fread
 
 автор: Владимир55   (06.11.2008 в 13:34)   письмо автору
 
 

Как я понимаю, оператор fread читает только то количество знаков, которе задано в его параметре string fread(int $f, int $numbytes). А как быть, если неизвестно, какое количество знаков содержит считываемая информация? Может, там день недели, а может, роман "Война и мир" в трех томах!

Как Вы поступаете в подобных случаях?
Может, установить $numbytes=1000000 ? Или миллиард? Что влечет за собою излишний размер этого параметра?

  Ответить  
 
 автор: AcidTrash   (06.11.2008 в 13:53)   письмо автору
 
   для: Владимир55   (06.11.2008 в 13:34)
 

Читает не количество знаков, а количество байт.
сколько весит файл подсчитывается функцией filesize() и включается вторым параметром в fread()

  Ответить  
 
 автор: cheops   (06.11.2008 в 14:04)   письмо автору
 
   для: Владимир55   (06.11.2008 в 13:34)
 

В этом случае удобно воспользоваться функцией fgets().

  Ответить  
 
 автор: Владимир55   (06.11.2008 в 14:37)   письмо автору
 
   для: cheops   (06.11.2008 в 14:04)
 

В описании fgets() ведь тоже присутствует размер считыаемого файла? В чем же преимущество тогда?


    $abc = filesize ($adr);
    echo  $abc ;
показывает размер файла меньше того, что на самом деле, на 6 байт. Почему так? Или это нормально?

  Ответить  
 
 автор: ddhvvn   (06.11.2008 в 17:45)   письмо автору
 
   для: Владимир55   (06.11.2008 в 14:37)
 

Занимаемый на диске размер часто отличается от релаьного на несколько байт/килобайт. Это зависит от файловой системы!

  Ответить  
 
 автор: Trianon   (06.11.2008 в 17:54)   письмо автору
 
   для: ddhvvn   (06.11.2008 в 17:45)
 

filesize показывает реальный размер.

  Ответить  
 
 автор: Владимир55   (06.11.2008 в 18:08)   письмо автору
 
   для: Trianon   (06.11.2008 в 17:54)
 

У меня на Денвере стабильно отличается на шесть бит. Незавимо от плины названия и содержания, разница всегда 6 бит...

  Ответить  
 
 автор: Trianon   (06.11.2008 в 20:02)   письмо автору
 
   для: Владимир55   (06.11.2008 в 18:08)
 

Шесть бит это три четверти байта.

Но даже если шесть байт - отличается от чего?

  Ответить  
 
 автор: Владимир55   (06.11.2008 в 20:27)   письмо автору
 
   для: Trianon   (06.11.2008 в 20:02)
 

Поскольку я работаю на Денвере, то вижу файл средствами ХР. Вот здесь и расхождение в 6 байт.

  Ответить  
 
 автор: Trianon   (06.11.2008 в 20:56)   письмо автору
 
   для: Владимир55   (06.11.2008 в 20:27)
 

У меня денвер и XP показывают строго одинаковые числа.

  Ответить  
 
 автор: Владимир55   (06.11.2008 в 21:08)   письмо автору
 
   для: Trianon   (06.11.2008 в 20:56)
 

Вот это

    $abc = filesize ($adr); 
    echo  $abc ; 
и данные ХР у меня разнятся на 6 байт - я ещё раз проверил. Но если у Вас эти цифры совпадают, то, значит, у меня что-то не то...

  Ответить  
 
 автор: ddhvvn   (06.11.2008 в 18:52)   письмо автору
 
   для: Trianon   (06.11.2008 в 17:54)
 

Опять промахнулся (
))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования