pdvz 0 Опубликовано: 30 июля 2007 Рассказать Опубликовано: 30 июля 2007 Помогите решить такую проблему проблему. Я поставил на сайт индикатор статуса аси, но картика статуса записывается в кеш браузера и при изменении не меняется Как сделать так чтобы именно эта картинка обновлялась а все остальные жили нормальной жизнью P.S. Громко не смейтесь я только учусь Цитата Ссылка на сообщение Поделиться на других сайтах
Re-buz 0 Опубликовано: 31 июля 2007 Рассказать Опубликовано: 31 июля 2007 pdvz, Выруби кэш у браузера... Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 31 июля 2007 Рассказать Опубликовано: 31 июля 2007 pdvz, оно и видно, что только учитесь. Вообще откажитесь от этой бесполезной затеи и не тратье драгоценное время Цитата Ссылка на сообщение Поделиться на других сайтах
pdvz 0 Опубликовано: 31 июля 2007 Рассказать Опубликовано: 31 июля 2007 Автор Re-buz Выруби кэш у браузера... Дурное дело не хитрое. pdvz, оно и видно, что только учитесь. Вообще откажитесь от этой бесполезной затеи и не тратье драгоценное время Я не считаю эту затею бесполезной. Дело даже не в статусе аси Просто нужен способ отмены кеширования отдельного изображения, а применять его можно для решения самых разнообразных задач Цитата Ссылка на сообщение Поделиться на других сайтах
Torquemada 0 Опубликовано: 1 августа 2007 Рассказать Опубликовано: 1 августа 2007 pdvz, я вижу два варианта. Первый вариант. Вместо ссылки вида http://web.icq.com/whitepages/online?icq=YOURUIN&img=1'>http://web.icq.com/whitepages/online?icq=YOURUIN&img=1 вставить ссылку на самописный скрипт, который будет отдавать http-заголовок типа header("Pragma: no-cache"); header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sun, 1 Jan 1995 01:00:00 GMT"); // Это какая-нибудь давно прошедшая дата header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // это строчка говорит, что наш скрипт всегда изменен а потом выдаёт полученную по той же самой ссылке картинку. Второй вариант: вместо ссылки вида http://web.icq.com/whitepages/online?icq=YOURUIN&img=1'>http://web.icq.com/whitepages/online?icq=YOURUIN&img=1 вставлять ссылку вида http://web.icq.com/whitepages/online?icq=YOURUIN&img=1'>http://web.icq.com/whitepages/online?icq=YOURUIN&img=1&superpupercode=<?php echo time();?> Таким образом ваша картинка всегда будет казаться браузеру абсолютно новой. Цитата Ссылка на сообщение Поделиться на других сайтах
pdvz 0 Опубликовано: 1 августа 2007 Рассказать Опубликовано: 1 августа 2007 Автор pdvz, я вижу два варианта. Первый вариант. Вместо ссылки вида http://web.icq.com/whitepages/online?icq=YOURUIN&img=1'>http://web.icq.com/whitepages/online?icq=YOURUIN&img=1 вставить ссылку на самописный скрипт, который будет отдавать http-заголовок типа header("Pragma: no-cache"); header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sun, 1 Jan 1995 01:00:00 GMT"); // Это какая-нибудь давно прошедшая дата header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // это строчка говорит, что наш скрипт всегда изменен а потом выдаёт полученную по той же самой ссылке картинку. Второй вариант: вместо ссылки вида http://web.icq.com/whitepages/online?icq=YOURUIN&img=1'>http://web.icq.com/whitepages/online?icq=YOURUIN&img=1 вставлять ссылку вида http://web.icq.com/whitepages/online?icq=YOURUIN&img=1'>http://web.icq.com/whitepages/online?icq=YOURUIN&img=1&superpupercode=<?php echo time();?> Таким образом ваша картинка всегда будет казаться браузеру абсолютно новой. Первый вариант, как я я понял обновляет всю страницу попробывал 2 но всё осталось без изменений Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 2 августа 2007 Рассказать Опубликовано: 2 августа 2007 pdvz, первый вариант как раз предназначен только для картинки, а не для страницы. И выглядеть будет примерно так... <img src="http://site.ru/img.php?icq=777777">где 777777 чейто блатной номер, который приведён исключительно в качестве примера Цитата Ссылка на сообщение Поделиться на других сайтах
pdvz 0 Опубликовано: 2 августа 2007 Рассказать Опубликовано: 2 августа 2007 (изменено) Автор чёто я не могу понять где прописывать header("Pragma: no-cache"); header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sun, 1 Jan 1995 01:00:00 GMT"); // Это какая-нибудь давно прошедшая дата header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // это строчка говорит, что наш скрипт всегда изменен в стдельном файле чтоли Изменено 2 августа 2007 пользователем pdvz Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 3 августа 2007 Рассказать Опубликовано: 3 августа 2007 pdvz, ну а где ещё. создай отдельный маленький файлик-скриптик, который будет выдавать изображение и команду браузеру его не кешировать Цитата Ссылка на сообщение Поделиться на других сайтах
Torquemada 0 Опубликовано: 3 августа 2007 Рассказать Опубликовано: 3 августа 2007 Пример php-файла, который будет выдавать статус: <?php $uin = $_GET['uin']; $link = fopen("http://web.icq.com/whitepages/online?icq=".$uin."&img=5", "rb"); $contents = ""; while (!feof($link)) { $contents .= fread($link, 8192); } fclose($link); header("Pragma: no-cache"); header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sun, 1 Jan 1995 01:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header ("Content-type: image/gif"); echo $contents; ?> Обращаться к файлу придётся по адресу http://www.yorsite.ru/filename.php?uin=777777 где http://www.yorsite.ru - адрес вашего сайта filename.php - имя файла скрипта 777777 - чейто блатной номер, который приведён исключительно в качестве примера © Цитата Ссылка на сообщение Поделиться на других сайтах
pdvz 0 Опубликовано: 3 августа 2007 Рассказать Опубликовано: 3 августа 2007 Автор Torquemada Большой тебе респект и уважуха способ реально рулит P.S. Всё учу php. Прикольная это весчь Цитата Ссылка на сообщение Поделиться на других сайтах
Torquemada 0 Опубликовано: 3 августа 2007 Рассказать Опубликовано: 3 августа 2007 (изменено) pdvz, я не знаю php, просто кодить - ума много не надо © На самом деле, это самый простой вариант. Грамотнее было бы, например, сделать еще проверку на то, что попытаются подсунуть вместо uin'a: <?php $uin = $_GET['uin']; if (preg_match("/^\d+$/", $uin)) { $link = fopen("http://web.icq.com/whitepages/online?icq=".$uin."&img=5", "rb"); } else { $link = fopen("http://forum.dle-news.ru/style_emoticons/default/ph34r.gif", "rb"); } $contents = ""; while (!feof($link)) { $contents .= fread($link, 8192); } fclose($link); header("Pragma: no-cache"); header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sun, 1 Jan 1995 01:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header ("Content-type: image/gif"); echo $contents; ?> Вместо "http://forum.dle-news.ru/style_emoticons/default/ph34r.gif" вставляете ссылку на любую gif-картинку, которой вы хотите тактично послать кулхацкера куда-нибудь в лес. Можно и не gif, но тогда должен будет меняться и Content-type. Изменено 3 августа 2007 пользователем Torquemada Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 4 августа 2007 Рассказать Опубликовано: 4 августа 2007 Ну тогда стоит добавить проверку вида (6 < uin < 9) Цитата Ссылка на сообщение Поделиться на других сайтах
pdvz 0 Опубликовано: 4 августа 2007 Рассказать Опубликовано: 4 августа 2007 (изменено) Автор Блин на локалке тестил всё работало как перенёс в папку с двигом всём картинки не отображаются а нельзя никак без внешнего файла обойтись Изменено 4 августа 2007 пользователем pdvz Цитата Ссылка на сообщение Поделиться на других сайтах
Torquemada 0 Опубликовано: 4 августа 2007 Рассказать Опубликовано: 4 августа 2007 Ну тогда стоит добавить проверку вида (6 < uin < 9) Я видел пятизнак. Два раза в своей жизни, один из них меньше недели назад) Да и не исключено, что когда-нибудь дойдём до десятизнаков. Так что пусть уж будет просто проверка на численность аргумента. Блин на локалке тестил всё работало как перенёс в папку с двигом всём картинки не отображаются а нельзя никак без внешнего файла обойтись В каком смысле не отображаются? Что говорят? Без внешнего файла - упомянутый способ номер два. Вместо ссылки вида <?php echo "http://web.icq.com/whitepages/online?icq=". $uin . "&img=5"; ?> ваш шаблон должен генерировать ссылку вида <?php echo "http://web.icq.com/whitepages/online?icq=". $uin . "&img=5&superarg=" . time(); ?> Цитата Ссылка на сообщение Поделиться на других сайтах
pdvz 0 Опубликовано: 4 августа 2007 Рассказать Опубликовано: 4 августа 2007 (изменено) Автор Вместо картинок пустые места будто PHP файла не существует или неправильно к нему путь указан но я проверял всё нормально ссылка на файл правильная да и на локальном сервере всё работает, а на хостинге нет пишет Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /home/pcwarez/domains/pc-warez.kzet.ru/public_html/templates/pc-warez/icq.php on line 3 Warning: fopen(http://icq.scatter.cz/status/icq_image.php?img=1301&icq=375474004) [function.fopen]: failed to open stream: no suitable wrapper could be found in /home/pcwarez/domains/pc-warez.kzet.ru/public_html/templates/pc-warez/icq.php on line 3 Warning: feof(): supplied argument is not a valid stream resource in /home/pcwarez/domains/pc-warez.kzet.ru/public_html/templates/pc-warez/icq.php on line 5 Изменено 4 августа 2007 пользователем pdvz Цитата Ссылка на сообщение Поделиться на других сайтах
Torquemada 0 Опубликовано: 5 августа 2007 Рассказать Опубликовано: 5 августа 2007 Ну, собственно, вот вам и ответ. Открытие внешних url у вас просто запрещено настройками сервера. Просите хостера включить в php.ini опцию allow_url_fopen. Цитата Ссылка на сообщение Поделиться на других сайтах
pdvz 0 Опубликовано: 5 августа 2007 Рассказать Опубликовано: 5 августа 2007 Автор не хотят они fopen включать Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 5 августа 2007 Рассказать Опубликовано: 5 августа 2007 pdvz, у вас хостинг платный? Если да, то съезжайте, если нет - ваши проблемы Цитата Ссылка на сообщение Поделиться на других сайтах
Torquemada 0 Опубликовано: 5 августа 2007 Рассказать Опубликовано: 5 августа 2007 pdvz, собственно, либо действительно съезжайте, либо смотрите способ №2 и правьте вашу строку генерации ссылки на уин, либо переходите, например, на скайп у них это грамотнее реализовано и можно получать статус, например, через DNS-запрос. Цитата Ссылка на сообщение Поделиться на других сайтах
pdvz 0 Опубликовано: 7 августа 2007 Рассказать Опубликовано: 7 августа 2007 (изменено) Автор Сделал так: <img src=<?php echo"http://icq.scatter.cz/status/icq_image.php?img=1301&icq=375474004&superarg=" . time(); ?> border="0"> но перед этим надо в файле index.php найдите строчку echo $tpl->result['main']; и замените ее на eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php '); как написано здесь http://forum.dle-news.ru/index.php?showtopic=22518 и работает при отключенном Fopen Изменено 7 августа 2007 пользователем pdvz Цитата Ссылка на сообщение Поделиться на других сайтах
Torquemada 0 Опубликовано: 7 августа 2007 Рассказать Опубликовано: 7 августа 2007 *апплодирует стоя * Не забудьте только 375474004 заменить на {icq} Цитата Ссылка на сообщение Поделиться на других сайтах
BlackM 0 Опубликовано: 7 августа 2007 Рассказать Опубликовано: 7 августа 2007 Эм... Лобовая атака) Имхо - eval тормозить скрипт будет) Цитата Ссылка на сообщение Поделиться на других сайтах
Torquemada 0 Опубликовано: 8 августа 2007 Рассказать Опубликовано: 8 августа 2007 (изменено) Тогда как вариант надо править profile.php, заменяя $tpl->set('{icq}', stripslashes($row['icq'])); на $tpl->set('{icq}', '<img src="http://icq.scatter.cz/status/icq_image.php?img=' . stripslashes($row['icq']) . '&superarg=' . time() . '" /> '. stripslashes($row['icq'])); Как-нибудь так. Будет выводиться и текущий icq-статус, и номер. Изменено 8 августа 2007 пользователем Torquemada Цитата Ссылка на сообщение Поделиться на других сайтах
pdvz 0 Опубликовано: 8 августа 2007 Рассказать Опубликовано: 8 августа 2007 (изменено) Автор *аплодирует стоя * Не забудьте только 375585004 заменить на {icq} Ну это если в профиле делать Я же делаю в main.tpl да прикольно в профиле, но есть желание замутить иконку статуса и сам номер в коментариях (comments.tpl) Всё сам догнал Изменено 8 августа 2007 пользователем pdvz Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.