Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Несёт ли повышенную нагрузку, данный скрипт?

Несёт ли повышенную нагрузку, данный скрипт?


     17.05.2015    Все вопросы » Общие вопросы по PHP    2239

вопрос
Здравствуйте. Я не силён в php, но смог написать такой скриптик. Будет ли он нагружать DLE, будет работать кеширование? Если его размещать в fulstory.tpl

[xfgiven_pleer-all2]<?php
if(!defined('DATALIFEENGINE'))
{
      die("Hacking attempt!");
}
include ('engine/api/api.class.php');
if ( $xfieldsdata['pleer-all2'] != '' ) {
    $xfield_data3 = $xfieldsdata['pleer-all2'];
    }
$xfield_data3 = str_replace("<iframe src=","",$xfield_data3);
$xfield_data3 = str_replace("frameborder=\"0\"","",$xfield_data3);
$xfield_data3 = str_replace("scrolling=\"no\">","",$xfield_data3);
$xfield_data3 = str_replace("width=\"510\"","",$xfield_data3);
$xfield_data3 = str_replace("height=\"400\"","",$xfield_data3);
$xfield_data3 = str_replace("\"","",$xfield_data3); // это добавил
$xfield_data3 = str_replace(" ","",$xfield_data3); // это
$xfield_data3 = str_replace("</iframe>","",$xfield_data3); // и это
$ch = curl_init($xfield_data3);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
    $out = curl_exec($ch);
    curl_close($ch);
$frame = $out;
$frame = str_replace("<html>","",$frame);
$frame = str_replace("<head>","",$frame);
$frame = str_replace("<title>Title Title</title>","",$frame);
$frame = str_replace("</head>","",$frame);
$frame = str_replace("<style>","<!--",$frame);
$frame = str_replace("</style>","-->",$frame);
$frame = str_replace("<body>","",$frame);
$frame = str_replace("</body>","",$frame);
$frame = str_replace("</html>","",$frame);
$frame = str_replace("\n","",$frame);
$dle_api->save_to_cache ( "frame_$newsid", $frame);

?>[/xfgiven_pleer-all2]

Ответил: ПафНутиЙ


Скрипт не будет работать т.к. нельзя размещать php в tpl.
Выносите его отдельный файл и подключайте через include

5 комментариев

vlad23
Юзер

vlad23 - 17 мая 2015 03:22 -

Забыл еще дописать
<?php   print $frame; ?>

vlad23
Юзер

vlad23 - 17 мая 2015 07:24 -

Переделал вот так, вопрос насчет этого скрипта:


[xfgiven_pleer-all2]<?php
if(!defined('DATALIFEENGINE'))
{
      die("Hacking attempt!");
}
include ('engine/api/api.class.php');
$frame=$dle_api->load_from_cache( "frame_$newsid", 60000);    
    
if (!$frame) {
$xfield_data3 = $xfieldsdata['pleer-all2'];
    $xfield_data3 = str_replace("<iframe src=","",$xfield_data3);
    $xfield_data3 = str_replace("frameborder=\"0\"","",$xfield_data3);
    $xfield_data3 = str_replace("scrolling=\"no\">","",$xfield_data3);
    $xfield_data3 = str_replace("width=\"510\"","",$xfield_data3);
    $xfield_data3 = str_replace("height=\"400\"","",$xfield_data3);
    $xfield_data3 = str_replace("\"","",$xfield_data3); // это добавил
    $xfield_data3 = str_replace(" ","",$xfield_data3); // это
    $xfield_data3 = str_replace("</iframe>","",$xfield_data3); // и это
    $ch = curl_init($xfield_data3);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
    $out = curl_exec($ch);
    curl_close($ch);
    $frame = $out;
    $frame = str_replace("<title>title title</title>","",$frame);
    $frame = str_replace("<style>","<!--",$frame);
    $frame = str_replace("</style>","-->",$frame);
    $frame = str_replace("\n","",$frame);
    
    
    $frame =  strip_tags($frame, '<object><param><embed></object>');

    $dle_api->save_to_cache ( "frame_$newsid", $frame);
    }
?>[/xfgiven_pleer-all2]


vlad23
Юзер

vlad23 - 17 мая 2015 20:18 -

Ответ не правильный. Вопрос связан с кешированием а не работоспособностью )) Тем более он будет работать в tpl, если ему разрешить.

LazyDev
PHP-developer

LazyDev - 17 мая 2015 20:29 -

vlad23, лучше вынести
"frame_$newsid"
на :
"frame_" . $newsid

А стандартный дебагер запустить и посмотреть не можете ? И зайти в папку с кэшем и посмотреть.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

vlad23
Юзер

vlad23 - 17 мая 2015 20:46 -

Спасибо. Я не умею к сожалению им пользоваться.. В кеше появляются tpl файлы, но в первом примере видимо кеш не работал, во втором, уже в комментариях, я его переделал немного, сейчас если редактировать tmp файлик, то новость изменяется, значит подгрузка идет с кеша ,по идеи.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх