Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как вывести через include file .tmp файл?

Как вывести через include file .tmp файл?


     28.11.2014    Общие вопросы, Шаблоны (TPL), Общие вопросы по PHP    4459

вопрос
Версия dle 10.3. В полной новости требуется вывести инклудом .tmp файл:
{include file="/engine/modules/news/{news-id}.tmp"}
Но dle выдает ошибку - "To connect permitted only files with the extension: .tpl or .php".
Судя по ошибке разрешается инклудить только .tpl и .php файлы. Как заинклудить .tmp файл?

Ответил: lutskboy


Там скрипт очень простой
{include file="/engine/modules/script.php?newsid={news-id}"}

ну и сам script.php
<?php
$id=$_GET['newsid'];
echo file_get_contents(ENGINE_DIR.'/cahe/'.$id.'.tmp');
?>

тут ENGINE_DIR.'/cahe/.$id.'.tmp' это путь к самим tmp файлам. В даном случае engine/cache/
У вас может он быть другим
ENGINE_DIR.'/modules/news/'.$id.'.tmp'

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

lutskboy
Эксперт

lutskboy - 28 ноября 2014 16:31 -

ну так сохраняйте как .tpl а не .tmp
Либо же поключайте вместо
{include file="/engine/modules/news/{news-id}.tmp"} каккой то там
{include file="/engine/modules/news/script.php"} и им уже подтягивайте свои .tmp файлы

Stavr
Юзер

Stavr - 28 ноября 2014 17:11 -

lutskboy, скрипт создающий .tmp файлы закодирован ionCube, так что изменить генерацию .tmp в .tpl не получиться. В ручную их тоже поменять не выйдет так как нформация в .tmp постоянно меняется.
Чтобы подтянуть через {include file="/engine/modules/news/script.php"} нужно писать модуль script.php, а я к сожалению в php не силен.

lutskboy
Эксперт

lutskboy - 28 ноября 2014 17:21 -

***Комментарий удален***

vitnet
PHP-developer

vitnet - 28 ноября 2014 17:39 -

Так намного интереснее
<?php
$id = isset($_GET['newsid']) ? $_GET['newsid'] : false;

$file = ENGINE_DIR . '/cache/' . $id . '.tmp';

echo (file_exists($file) ? file_get_contents($file) : 'Error');
?>

Stavr
Юзер

Stavr - 28 ноября 2014 18:46 -

lutskboy, vitnet, спасибо вам, очень помогли.

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

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

наверх