Реклама на сайте Advertise with us
Тема: PHP-Фиды icoosoft: небольшое улучшение Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе Pentarh


Зарегистрирован: 05.04.03
Сообщения: 2390
Ссылка на сообщениеДобавлено: 10/09/04 в 14:25     

Ну в общем я тут прикручивал фиды к сайту и подумал что вот этот кусман кода не самое лучшее решение:

Код:

$handle = fopen("http://icoocash.com/js/Get10LastDvdInfo.js", "rb");
$contents = "";
do {
$data = fread($handle, 8192);
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while (true);
fclose($handle);
$contents=str_replace("dvd","\$dvd",$contents);
$contents=str_replace("new A","a",$contents);
$contents=str_replace("var All","///",$contents);
$contents=str_replace("var MovDate","\$MovDate",$contents);
eval( $contents);


Он повторяется во всех трех файлах фидов в небольших модификациях и ведет к тому что для каждого посетителя перед выдачей страницы сервер подгружает фид от icoosoft. Для сиджея например это хреново - задержка загрузки страницы. К тому же моя страница таким образом напрямую зависит от устойчивости сервера icoocash.

Небольшой апгрейд (жирным изменения)
Код:


$cache="icoosoft.dat"; //cache file
$cache_ttl=5; //cache TTL (hours)
if (time()>@filemtime($cache)+60*60*$cache_ttl) || !file_exists($cache))
{

$handle = fopen("http://icoocash.com/js/Get10LastDvdInfo.js", "rb");
$contents = "";
do {
$data = fread($handle, 8192);
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while (true);
fclose($handle);
$contents=str_replace("dvd","\$dvd",$contents);
$contents=str_replace("new A","a",$contents);
$contents=str_replace("var All","///",$contents);
$contents=str_replace("var MovDate","\$MovDate",$contents);

$fp=fopen($cache,'w');
if ($fp)
{
flock($fp,2);
fwrite($fp,$contents);
flock($fp,3);
fclose($fp);
}
}
else
$contents=file_get_contents($cache);

eval( $contents);


Ну вот. Теперь он раз в пять часов будет обращаться к серваку icoosoft. Плюс небольшая независимость + конкретная разгрузка сервера icoosoft если применить в больших масштабах. Если что, можно поменять переменные $cache и $cache_ttl на нужные значения. Ну и аналогично в двух других файлах фидов, только имя кэш-файла поменять нафиг, а в описании двдшника добавлять к названию файла идентификатор диска еще.

K началу

 
Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »