[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблема с filesize()
Invis1ble
Привет. Столкнулся с такой проблемой: нужно дописать в файл некие данные, но перед этим запомнить текущий размер файла в байтах. Первый путь, по которому я пошел
$fh = fopen($filename, 'a+b');
$offset = ftell($fh);
// дописываем данные
fclose($fh);

оказался неверным, т.к. выяснилось что
Цитата
ftell gives undefined results for append-only streams (opened with "a" flag)
, т.е. для этого режима не подходит...
Второй путь
$offset = filesize($filename);

тоже привел к неожиданным результатам, полазив по нету я нашел пояснение:
Цитата
Будте внимательны: результаты этой функции кэшируются

Так вот у меня такой вопрос - где кешируются эти результаты и как очистить этот кеш? Возможно, есть какой-то более рациональный способ.... Подскажите пожалуйста.



Спустя 27 минут, 1 секунда (5.01.2011 - 17:10) Invis1ble написал(а):
Проблема решена. Для будущих поколений - clearstatcache()

Спустя 2 часа, 1 минута, 8 секунд (5.01.2011 - 19:11) inpost написал(а):
is_dir - кешируется, а кешируется он внутри других функций? И как вообше хранится информация о кеше? По ссылке на файл, или по способу запуска? И будет ли результат общим для запуска внутри такой констукции и проверки просто файла? И какая в целом продолжительность кеша будет для типичной работы? Есть где-нибудь почитать про это? И так, чтобы много и на "человеческом" языке =)
$f = scandir();
foreach ($f as $v)
if(is_dir($v))
DOIT

Спустя 1 час, 27 минут, 1 секунда (5.01.2011 - 20:38) Invis1ble написал(а):
inpost
Цитата
is_dir - кешируется

разве?? unsure.gif
Даже если и кешируется, ты ведь в цикле перебираешь с разными аргументами, поэтому врядли из кеша будут результаты приходить...
Цитата
И как вообше хранится информация о кеше? По ссылке на файл, или по способу запуска?

насколько я понял, по ссылке..

Спустя 19 минут, 13 секунд (5.01.2011 - 20:57) inpost написал(а):
http://www.php.ru/manual/function.clearstatcache.html - кешируется, + ссылка ведь всегда одна на файл конкретный будет, поэтому, вроде как, всегда одно и то же будет

Спустя 6 минут, 57 секунд (5.01.2011 - 21:04) Invis1ble написал(а):
inpost
жесть... оказывается столько функций кешируется... а я чего-то как обычно не догадался в мануал заглянуть )


_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.