Привет. Столкнулся с такой проблемой: нужно дописать в файл некие данные, но перед этим запомнить текущий размер файла в байтах. Первый путь, по которому я пошел
$fh = fopen($filename, 'a+b');
$offset = ftell($fh);
fclose($fh);
оказался неверным, т.к. выяснилось что
, т.е. для этого режима не подходит...
Второй путь
$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 - кешируется |
разве??
Даже если и кешируется, ты ведь в цикле перебираешь с разными аргументами, поэтому врядли из кеша будут результаты приходить...
Цитата |
И как вообше хранится информация о кеше? По ссылке на файл, или по способу запуска? |
насколько я понял, по ссылке..
Спустя 6 минут, 57 секунд (5.01.2011 - 21:04) Invis1ble написал(а):
inpost
жесть... оказывается столько функций кешируется... а я чего-то как обычно не догадался в мануал заглянуть )
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль