форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
вставил
<txp:php>include("http://www.forum.cyber-lipetsk.ru/last.php");</txp:php>
сайт перестал грузиться
Неактивен
Vaal написал:
вставил
<txp:php>include("http://www.forum.cyber-lipetsk.ru/last.php");</txp:php>
сайт перестал грузиться
Вставил в шаблон? Или в статью?
У меня подобные конструкции вынесены в формы. В шаблоне или в статье используется output_form. Это работает.
Неактивен
вставил в шаблон
потом сделал через output_form
похоже что сам код вывода последних тем кривой
Неактивен
не забывай, что в ТП все должно быть в кодировке utf-8. Если в форуме вывод в win-1251, то include не пойдет.
надо считать считывание в промежуточный массив, для которого применить iconv
Неактивен
я тоже делал include в шаблон, выдает ошибку, Evgeny, можно поподробней про iconv!
Неактивен
4zy написал:
можно поподробней про iconv!
iconv - это php-функция перекодирования символов. К сожалению, библиотека iconv устанавливается не всеми хостерами.
для перекодирования строки, написанной в кодировке win-1251 в строку представленную в utf-8 используется
iconv("windows-1251", "UTF-8", $str);
к include эта функция никакого отношения не имеет. если include дает ошибку - то это не из-за кодировки.
Неактивен
я брал инфу с другого сайта таким образом...
создал форму getinfo в которой:
<txp:php> /* объявляем глобальную переменную */ global $my_getinfo; if ($my_getinfo){ echo my_getinfo($my_getinfo); } function my_getinfo($url){ /* открываем соденинение c $URL */ $handle = fopen($url, "r"); $contents = ''; while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); /* считываем всё, и закрываем соединение, вообще, тут можно придумать кэш, по необходимости, можно заносить кэш в mysql */ /* тут вырезаем, или заменяем что-то не нужное, у меня тут массив заменяется на массив */ $contents = str_replace('<br>', '<br>', $contents); $contents = str_replace('<br/>', '<br/>', $contents); /* если кому-то тоже нужно много заменять/вырезать, вот пример: $contents = str_replace( array('http://thisdomain.ru', 'src="', '<br />'), array('http://mydomain.ru', 'src="/', '<br/>'), $contents); // и так далее */ $contents=iconv("windows-1251", "UTF-8", $contents); return $contents; } </txp:php>
далее в любом месте вставляем следующее...
в начале файла, где будет использоваться вложение:
<txp:php> global $my_getinfo; /* наш url */ $my_getinfo="http://thisdomain.ru/main_news_tmp_handler.php"; </txp:php>
и потом, в том месте, где хотим вывести полученную инфу:
<txp:output_form form="getinfo" />
Неактивен
вообще, наверное, сделаю это в виде плагина
Неактивен
RolanDъ написал:
сделаю это в виде плагина
было бы просто здорово!
атрибуты какие планируешь? сходу напрашивается 2:
1. адрес страницы, которая будет инклюдится
2. нужна ли перекодировка из 1251 в utf-8
что-то еще?
Неактивен
думаю ещё реализовать кэш в mysql, и естественно атрибут надо или не надо, и если надо, то сколько секунд кэш.
например иногда и обновления с сайта раз в 10 минут достаточно, плюс этого, что страничка быстрее будет грузиться.
вот ещё меня интересует вопрос с вырезанием и заменой, как лучше это в плагине реализовать, попробовать придумать в админке настройку для плагина, видел такое в некоторых плагинах
Неактивен
В мускуле же есть индексация. Разве ее не хватает?
Неактивен
glebotr причём тут это
скачали страничку с чужого сайта, запхнули в mysql, с датой когда мы это сделали, при следующем запросе спросим, если с момента сохранения не прошло N минут/секунд, то берем из mysql, иначе берем заново с инета
Неактивен
Подскажите, была ли реализована в коде идея плагина для подключения внешних источников в отличных от UTF8 кодировках?
Неактивен
Не припомню, чтобы появлялся подобный плагин...
Неактивен