Legosp Forum
Shop-Script "Legosp" => Общие вопросы => Тема начата: delasker от Апреля 19, 2013, 02:20:51 pm
-
Собственно, а как вообще вставляется PHP в smarty? Мне вот предложили поставить на сайт рекламу. В корень нужно кинуть папку linkbase с файлами, а где-то на странице прописать
<?php
require_once($_SERVER['DOCUMENT_ROOT']."/linksbase/advert.php");
echo GetAdvert();
?>
Поискал, почитал на форуме сапы, так и не смог. Ничего не выводится. Кто поможет?
-
Господа, что случилось? Здесь был пост с ответом, и теперь нет. Я тут пока сайт уронил своими манипуляциями, пока восстановил. Захожу в тему почитать, как правильно сделать, а поста-то и нет!
Господа модеры, пожалуйста, верните пост на место, либо сами напишите, как мне сделать. Заранее кланяюсь, автор пяти сайтов на lego
-
Ага, спасибо Сергей. Буду пробовать
-
Что-то не выходит. Создать файл PHP - сделал, а как назвать его? Даю название advert, выводит просто getadvert. Вставляю в папку includes сам файл из присланного- вообще сайт падает.
-
Простите, какие скобки? Может так?
$smarty->assign('GetAdvert',GetAdvert());
-
Не получается, ничего не происходит. Ну хоть сайт не падает. делал так: в папке includes шаблона создал файл adv.php с кодом приведённым выше, в корень сайта запулил присланную папку, в index.tpl.html вставил {$GetAdvert}. Что-то не так.
Сергей, ну помоги ты бога ради
-
Я уже писал вам но что то сообщение удалилось....
Я описывал 2 способа, но уже лень много писать дак вот лучший:
1) В в advert.php в самом низу перед ?> Добавляем стоку
$smarty->assign("GetAdvert",GetAdvert());
2) Сохраняем и файл копируем в папку ./css/css_ваша_тема/includes/ (Если папки нет создаем)
3) Там где нужно вывести в шаблоне вставляете {$GetAdvert}
-
Пробую так и получаю
Приносим наши извинения!
В настоящее время ведуться технические работы на сервере.
Пожалуйста, зайдите позднее.
-
Покажите advert.php
-
вот advert.php
<?php
function GetContent( $url )
{
$server = strtolower( preg_replace ("~^(?:http://|//)?(?:[a-z0-9\-_]+\.)*([a-z0-9\-_]+\.[a-z0-9\-_]+).*?$~is", "$1", $url ) );
$host = strtolower( preg_replace ("~^(?:http://|//)?((?:[a-z0-9\-_]+\.)+[a-z0-9\-_]+).*?$~is", "$1", $url ) );
$ruri = preg_replace ("~^(?:http://)?(?:[a-z0-9\-_]+\.)+[a-z0-9\-_]+(.*)$~is", "$1", $url );
$socket = @fsockopen( $server, 80, $errno, $errstr, 5 ) or $socket = false;
if (!$socket)
return @file_get_contents ($url);
$request = "GET " . $ruri . " HTTP/1.0\r\n";
$request .= "Host: " . $host . "\r\n";
$request .= "Accept: text/html, application/xml;q=0.9, */*;q=0.1\r\n";
$request .= "Accept-Charset: windows-1251, utf-8;q=0.6, *;q=0.1\r\n";
$request .= "Accept-Encoding: deflate, identity, *;q=0\r\n";
$request .= "Accept-Language: ru\r\n";
$request .= "Connection: close\r\n";
$request .= "Keep-Alive: 300\r\n";
$request .= "Expires: Thu, 01 Jan 1970 00:00:01 GMT\r\n";
$request .= "Cache-Control: no-store, no-cache, must-revalidate\r\n";
$request .= "Pragma: no-cache\r\n";
$request .= "Cookie: income=1\r\n";
//$request .= "Referer: http://" . $ref . "/\r\n";
$request .= "User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)\r\n";
$request .= "\r\n";
fputs($socket, $request);
$fcont = "";
while ($line = @fgets ($socket, 1024))
$fcont .= $line;
fclose($socket);
$pos = strpos ( $fcont, "\r\n\r\n" );
if ($pos !== false)
$fcont = substr ( $fcont, $pos + 4 );
if (!$fcont)
$fcont = @file_get_contents ($url);
return $fcont;
}
function GetAdvert()
{
$m_host = $_SERVER['HTTP_HOST'];
$m_ruri = $_SERVER['REQUEST_URI'];
$dbfile = dirname(__FILE__)."/advert.db";
if (isset($_GET['cleardbfile'])) @unlink ($dbfile);
$ftime = @filemtime ( $dbfile ) or $ftime = 0;
$elapsed = time() - $ftime > 3600;
//Если данные устарели, обновляем
if ($elapsed)
{
$fcont = @GetContent("http://linksbase.ru/links/".$m_host) or $fcont = "";
//@file_put_contents( $dbfile, $fcont );
$fptr = fopen($dbfile, "w");
@fwrite($fptr, $fcont);
@fclose($fptr);
}
else
$fcont = @file_get_contents( $dbfile );
$links = "<!--linksbase-->";
$uricell = "#uri:#always#lnk:#";
$pos = strpos ( $fcont, $uricell );
if ($pos !== false)
{
$pos += strlen ( $uricell );
$end = strpos ( $fcont, "#uri:#", $pos );
$end = ($end !== false) ? $end : strlen ($fcont);
$links = substr ( $fcont, $pos, $end-$pos );
}
$uricell = "#uri:#".$m_ruri."#lnk:#";
$pos = strpos ( $fcont, $uricell );
if ($pos !== false)
{
$pos += strlen ( $uricell );
$end = strpos ( $fcont, "#uri:#", $pos );
$end = ($end !== false) ? $end : strlen ($fcont);
$links = substr ( $fcont, $pos, $end-$pos );
}
//Выводим текст
return $links;
}
?>
А на страницу предлагается вставить
<?php
require_once($_SERVER['DOCUMENT_ROOT']."/linksbase/advert.php");
echo GetAdvert();
?>
-
./cfg/error.log еще свой покажите
-
Видимо личные сообщения не проходят. Прошу помощи и личного вмешательства у Юрия и Сергея. Сам сделать явно не могу. Вот лог
[16.05.13 14:11] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:11] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:11] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:11] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:11] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:11] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:14] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:14] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:14] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:14] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:16] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[16.05.13 14:18] Error require_once(/home/o/overalru/spec/public_html./linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:18] Error require_once(/home/o/overalru/spec/public_html./linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:18] Error require_once(/home/o/overalru/spec/public_html./linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:18] Error require_once(/home/o/overalru/spec/public_html./linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:18] Error require_once(/home/o/overalru/spec/public_html./linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:18] Error require_once(/home/o/overalru/spec/public_html./linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:19] Error require_once(/home/o/overalru/spec/public_html../linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:19] Error require_once(/home/o/overalru/spec/public_html../linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:19] Error require_once(/home/o/overalru/spec/public_html../linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:19] Error require_once(/home/o/overalru/spec/public_html../linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:41] Error require_once(spp37.ru/linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:41] Error require_once(spp37.ru/linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:41] Error require_once(spp37.ru/linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:41] Error require_once(spp37.ru/linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:41] Error require_once(spp37.ru/linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[16.05.13 14:41] Error require_once(spp37.ru/linksbase/advert.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 2)
[20.05.13 15:35] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
[20.05.13 15:35] Error filemtime() [<a href='function.filemtime'>function.filemtime</a>]: stat failed for /home/o/overalru/spec/public_html/css/css_spec/includes/advert.db (code: 2) in /home/o/overalru/spec/public_html/css/css_spec/includes/advert.php (line: 54)
-
<?php
function GetContent( $url )
{
$server = strtolower( preg_replace ("~^(?:http://|//)?(?:[a-z0-9\-_]+\.)*([a-z0-9\-_]+\.[a-z0-9\-_]+).*?$~is", "$1", $url ) );
$host = strtolower( preg_replace ("~^(?:http://|//)?((?:[a-z0-9\-_]+\.)+[a-z0-9\-_]+).*?$~is", "$1", $url ) );
$ruri = preg_replace ("~^(?:http://)?(?:[a-z0-9\-_]+\.)+[a-z0-9\-_]+(.*)$~is", "$1", $url );
$socket = @fsockopen( $server, 80, $errno, $errstr, 5 ) or $socket = false;
if (!$socket)
return @file_get_contents ($url);
$request = "GET " . $ruri . " HTTP/1.0\r\n";
$request .= "Host: " . $host . "\r\n";
$request .= "Accept: text/html, application/xml;q=0.9, */*;q=0.1\r\n";
$request .= "Accept-Charset: windows-1251, utf-8;q=0.6, *;q=0.1\r\n";
$request .= "Accept-Encoding: deflate, identity, *;q=0\r\n";
$request .= "Accept-Language: ru\r\n";
$request .= "Connection: close\r\n";
$request .= "Keep-Alive: 300\r\n";
$request .= "Expires: Thu, 01 Jan 1970 00:00:01 GMT\r\n";
$request .= "Cache-Control: no-store, no-cache, must-revalidate\r\n";
$request .= "Pragma: no-cache\r\n";
$request .= "Cookie: income=1\r\n";
//$request .= "Referer: http://" . $ref . "/\r\n";
$request .= "User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)\r\n";
$request .= "\r\n";
fputs($socket, $request);
$fcont = "";
while ($line = @fgets ($socket, 1024))
$fcont .= $line;
fclose($socket);
$pos = strpos ( $fcont, "\r\n\r\n" );
if ($pos !== false)
$fcont = substr ( $fcont, $pos + 4 );
if (!$fcont)
$fcont = @file_get_contents ($url);
return $fcont;
}
function GetAdvert()
{
$m_host = $_SERVER['HTTP_HOST'];
$m_ruri = $_SERVER['REQUEST_URI'];
$dbfile = dirname(__FILE__)."/advert.db";
if (isset($_GET['cleardbfile'])) @unlink ($dbfile);
$ftime = (file_exists($dbfile) ? filemtime( $dbfile ):0);
$elapsed = time() - $ftime > 3600;
//Если данные устарели, обновляем
if ($elapsed)
{
$fcont = @GetContent("http://linksbase.ru/links/".$m_host) or $fcont = "";
//@file_put_contents( $dbfile, $fcont );
$fptr = fopen($dbfile, "w");
@fwrite($fptr, $fcont);
@fclose($fptr);
}
else
$fcont = @file_get_contents( $dbfile );
$links = "<!--linksbase-->";
$uricell = "#uri:#always#lnk:#";
$pos = strpos ( $fcont, $uricell );
if ($pos !== false)
{
$pos += strlen ( $uricell );
$end = strpos ( $fcont, "#uri:#", $pos );
$end = ($end !== false) ? $end : strlen ($fcont);
$links = substr ( $fcont, $pos, $end-$pos );
}
$uricell = "#uri:#".$m_ruri."#lnk:#";
$pos = strpos ( $fcont, $uricell );
if ($pos !== false)
{
$pos += strlen ( $uricell );
$end = strpos ( $fcont, "#uri:#", $pos );
$end = ($end !== false) ? $end : strlen ($fcont);
$links = substr ( $fcont, $pos, $end-$pos );
}
//Выводим текст
return $links;
}
$smarty->assign("GetAdvert",GetAdvert());
?>
Попробуйте так. Но честно говоря скрипт не совсем понятный...