Автор Тема: Как вставить PHP  (Прочитано 13236 раз)

Оффлайн delasker

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Как вставить PHP
« : Апреля 19, 2013, 02:20:51 pm »
Собственно, а как вообще вставляется PHP в smarty? Мне вот предложили поставить на сайт рекламу. В корень нужно кинуть папку linkbase с файлами, а где-то на странице прописать
<?php
        
require_once($_SERVER['DOCUMENT_ROOT']."/linksbase/advert.php");
        echo 
GetAdvert();
?>

Поискал, почитал на форуме сапы, так и не смог. Ничего не выводится. Кто поможет?

Оффлайн delasker

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Re: Как вставить PHP
« Ответ #1 : Апреля 25, 2013, 11:39:01 am »
Господа, что случилось? Здесь был пост с ответом, и теперь нет. Я тут пока сайт уронил своими манипуляциями, пока восстановил. Захожу в тему почитать, как правильно сделать, а поста-то и нет!
 Господа модеры, пожалуйста, верните пост на место, либо сами напишите, как мне сделать. Заранее кланяюсь, автор пяти сайтов на lego

Оффлайн delasker

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Re: Как вставить PHP
« Ответ #2 : Апреля 26, 2013, 08:22:22 am »
Ага, спасибо Сергей. Буду пробовать

Оффлайн delasker

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Re: Как вставить PHP
« Ответ #3 : Апреля 26, 2013, 01:17:34 pm »
Что-то не выходит. Создать файл PHP - сделал, а как назвать его? Даю название advert, выводит просто getadvert. Вставляю в папку includes сам файл из присланного- вообще сайт падает.

Оффлайн delasker

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Re: Как вставить PHP
« Ответ #4 : Апреля 26, 2013, 02:11:20 pm »
Простите, какие скобки? Может так?
$smarty->assign('GetAdvert',GetAdvert());

Оффлайн delasker

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Re: Как вставить PHP
« Ответ #5 : Мая 14, 2013, 10:13:50 am »
Не получается, ничего не происходит. Ну хоть сайт не падает. делал так: в папке includes шаблона создал файл adv.php с кодом приведённым выше, в корень сайта запулил присланную папку, в index.tpl.html вставил {$GetAdvert}. Что-то не так.
Сергей, ну помоги ты бога ради

Оффлайн Юрий

  • Старожил
  • ****
  • Сообщений: 322
    • Просмотр профиля
    • Во-Сток
Re: Как вставить PHP
« Ответ #6 : Мая 14, 2013, 01:23:45 pm »
Я уже писал вам но что то сообщение удалилось....
Я описывал 2 способа, но уже лень много писать дак вот лучший:
1) В  в advert.php в самом низу перед ?>  Добавляем стоку
$smarty->assign("GetAdvert",GetAdvert());2) Сохраняем и файл копируем в папку ./css/css_ваша_тема/includes/ (Если папки нет создаем)
3) Там где нужно вывести в шаблоне вставляете {$GetAdvert}


Оффлайн delasker

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Re: Как вставить PHP
« Ответ #7 : Мая 16, 2013, 01:14:38 pm »
Пробую так и получаю
Цитировать
Приносим наши извинения!
В настоящее время ведуться технические работы на сервере.
Пожалуйста, зайдите позднее.

Оффлайн Юрий

  • Старожил
  • ****
  • Сообщений: 322
    • Просмотр профиля
    • Во-Сток
Re: Как вставить PHP
« Ответ #8 : Мая 16, 2013, 03:35:06 pm »
Покажите advert.php

Оффлайн delasker

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Re: Как вставить PHP
« Ответ #9 : Мая 17, 2013, 10:58:22 pm »
вот advert.php
<?php

function GetContent$url )
{
$server strtolowerpreg_replace ("~^(?:http://|//)?(?:[a-z0-9\-_]+\.)*([a-z0-9\-_]+\.[a-z0-9\-_]+).*?$~is""$1"$url ) );
$host strtolowerpreg_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$server80$errno$errstr) 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 ($socket1024))
$fcont .= $line;

fclose($socket);

$pos strpos $fcont"\r\n\r\n" );
if ($pos !== false)
$fcont substr $fcont$pos );

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();
?>

Оффлайн Юрий

  • Старожил
  • ****
  • Сообщений: 322
    • Просмотр профиля
    • Во-Сток
Re: Как вставить PHP
« Ответ #10 : Мая 19, 2013, 03:30:43 am »
./cfg/error.log еще свой покажите

Оффлайн delasker

  • Пользователь
  • **
  • Сообщений: 73
    • Просмотр профиля
Re: Как вставить PHP
« Ответ #11 : Мая 21, 2013, 09:29:16 am »
Видимо личные сообщения не проходят. Прошу помощи и личного вмешательства у Юрия и Сергея. Сам сделать явно не могу. Вот лог
[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)

Оффлайн Юрий

  • Старожил
  • ****
  • Сообщений: 322
    • Просмотр профиля
    • Во-Сток
Re: Как вставить PHP
« Ответ #12 : Мая 21, 2013, 04:06:13 pm »
<?php

function GetContent$url )
{
$server strtolowerpreg_replace ("~^(?:http://|//)?(?:[a-z0-9\-_]+\.)*([a-z0-9\-_]+\.[a-z0-9\-_]+).*?$~is""$1"$url ) );
$host strtolowerpreg_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$server80$errno$errstr) 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 ($socket1024))
$fcont .= $line;

fclose($socket);

$pos strpos $fcont"\r\n\r\n" );
if ($pos !== false)
$fcont substr $fcont$pos );

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()); 

?>
Попробуйте так. Но честно говоря скрипт  не совсем понятный...