[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проверка размера файла в php
kav1
Всем привет, форумчане.

Есть вопросик следующего вида. У меня есть код в конце каждой html страницы, который пишет её контент в кеш-файл. Код такой :

<?php
$cache = ob_get_contents();
ob_end_clean ();
echo $cache;

$fp = @fopen ("cache/$crc", "w");
@fwrite ($fp, $cache);
@fclose ($fp);
?>


Вопрос следующий. Мне нужно сделать так, чтобы осуществлялась запись в кеш ТОЛЬКО в том случае, когда контент весит - ну допустим 10 кб. Не могу понять, как сие осуществить...





Спустя 5 минут, 16 секунд (9.04.2011 - 15:56) neadekvat написал(а):
$len = strlen($cache);
$len - это количество байт, которое будет занимать файл smile.gif Правда, вам надо поэкспериментирвоать со своей кодировкой, на своем сервере и т.д. Возможно, придется коррелировать - я сейчас не могу в голове сложить картину всех деталей.

Спустя 50 минут, 45 секунд (9.04.2011 - 16:47) mav1 написал(а):
neadekvat, спасибо. Однако в моем случае я решил пойти по другому все таки пусти - кеш пишется если в файле есть какя-то строка. То есть например если в файле есть строка "mavpa is here", то тогда пишется кеш. Как сделать такую проверку ? Очень прошу, кто знает, отпишитесь...

Спустя 6 минут, 4 секунды (9.04.2011 - 16:53) neadekvat написал(а):
В каком файле должна быть строка, откуда берется файл и строка, непонятно.

Спустя 7 минут, 5 секунд (9.04.2011 - 17:00) mav1 написал(а):
ну файл формируется динамически, в нем же и строка проверяется. И в этом же файле внизу код, который пишет кеш-файл этого файла

Спустя 54 секунды (9.04.2011 - 17:01) neadekvat написал(а):
Если файл уже записан - зачем его записывать еще раз?

Спустя 3 минуты, 7 секунд (9.04.2011 - 17:04) mav1 написал(а):
а он меняется) динамически создается, и меняется, стало быть и кеш менять надо)

Спустя 4 часа, 8 минут, 46 секунд (9.04.2011 - 21:13) mav1 написал(а):
ну так все таки, кто нибудь знает как решить мою проблему...

Спустя 47 минут, 14 секунд (9.04.2011 - 22:00) mav1 написал(а):
вроде придумал :

<?php
$cache = ob_get_contents();
ob_end_clean ();
echo $cache;
$find="какая-то фраза";

if (strpos ($cache, $find) === FALSE) {
$fp = @fopen ("cache/$crc", "w");
@fwrite ($fp, $cache);
@fclose ($fp); }

?>


если есть у кого какие предложения, всё же отпишитесь )
Быстрый ответ:

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