PDA

Просмотр полной версии : php - include и return


rcc0023
18.09.2009, 15:35
Как в функции return'ом выдать значение другого php-скрипта?

то есть есть функция:

banner($name){

$file=fopen($name,'r');

return fread($file,999);

}

А файл $name будет содержать разрешение php и должен выполняться:


<?
if($c==0.8953)echo (2*5-1).']';
?>


На данный момент функция выдает исходник..

Krist_ALL
18.09.2009, 15:36
function banner($name){

$file=fopen($name,'r');
$a = fread($file,999);
$b = eval($a);

return $b;

}

Gray_Wolf
18.09.2009, 15:56
Не самая лучшая идея...
Лучше отдельно хранить функции и инклудить эти скрипты в основную страницу.

rcc0023
18.09.2009, 16:01
кому как..
использовал echo 'text'.banner().'text';
все да ничего, но сейчас нужно исполнять файлы =(

eval в данной ситуации не помог (

Krist_ALL
18.09.2009, 16:07
инклюдь просто файл и все. Бред все это- открывать исполнять - есть готовое решение - EVAL

rcc0023
18.09.2009, 16:11
он значение в return не передает

WNZRS
18.09.2009, 16:25
echo 'text';
include('folders/banner.php');
echo 'text';

тоже самое что выполнить содержимое folder/banner.php и вывести результат

если тебе надо обязательно ретурном, то через curl или подобное получаешь то что возвращается после исполнения и return'ишь

BlackSun
18.09.2009, 16:38
<?php
function banner ($name) {
ob_start();
include($name);
$result = ob_get_contents();
ob_end_clean();
return $result;
}
?>

D Mak
18.09.2009, 19:13
в последнем можно просто
$result = ob_get_clean();
return $result;

astrologer
18.09.2009, 19:29
function banner($name)
{
return include $name;
}<?

if($c == 0.8953)
{
return (2 * 5 - 1) . ']';
}

?>