Как выполнить php-скрипт в файле из др. файла

Ударница

Новичок
Как выполнить php-скрипт в файле из др. файла

Проблема в том, что во включаемом скрипте есть описания функций, а строка включения этого скрипта располагается в фукнции, поэтому возникает ошибка.
Мне нужны только результаты работа включаемого скрипта.
Есть ли в ПХП специальная функция, чтобы исполнить пхп-скрипт (независимо от кода, откуда она вызывается) и получить только выдаваемый им результат?
 

tony2001

TeaM PHPClub
длинный вариант:
попробуйте объяснить на примере.
текущий вариант вопроса ничего кроме вопросов не вызывает.

короткий вариант:
че-че?
 

Ударница

Новичок
в 1.php есть описания функций и код который что-то выводит
если писатьтак,
function f1()
{
......
include('1.php');
.....
}
то возникает ошибка

Мне нужны только результат работы 1.php, т.е. только то, что он выводит

хотелось бы знать можно ли его как-нить исполнить внутри описываемой функции и с результатом уже работать
 

Ударница

Новичок
мне нужно include делать внутри описания функции, а так как во включаемом файле есть описания др. функций, то выдает ошибку
 

Фанат

oncle terrible
Команда форума
может быть, тогда убрать из включаемого файла описания функций?

и нельзя ли поинтересоваться - а какую именно ошибку "даёт"? А то всё так таинственно...
 

Ударница

Новичок
фукнции убрать нельзя
но мне нужно только то, что выдаст пхп-интерпретатор браузеру при обработке 1.пхп, от 1.пхп больше мне ничего не нужно
 

Фанат

oncle terrible
Команда форума
почему нельзя?
а можно ещё раз попросить сообщение об ошибке?
 

Ударница

Новичок
function get_content($script_to_include_in_get_content){
extract($GLOBALS,EXTR_SKIP);
ob_start();
include $script_to_include_in_get_content;
$content = ob_get_contents();
ob_end_clean();
return $content;
}

$var = get_content('1.php');

я могла бы сделать так, если бы не описания функций((((((((

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

сообщение об ошибке сказать не могу, т.к. сервером они не выдаются
 

Mavir

Новичок
$txt=file('http://sitename/1.php');
Или использовать любую другую функцию для чтения файлов.
 

Ударница

Новичок
Mavir, так тоже не пойдет, т.к. сервер будет соединяться через http сам с собой, а файлу 1.php нужны кукисы клиента, а так он их будет у себя же и искать

-~{}~ 29.03.06 15:57:

на сервере вывод сообщений об ошибках отключен
 

Фанат

oncle terrible
Команда форума
Ударница
1. по ссылке выше написано, что надо сделать, чтобы узнать сообщение об ошибке.

пока вы этого не сделаете, никто с вами разговаривать не будет.
 

svetasmirnova

маленький монстрик
>на сервере вывод сообщений об ошибках отключен
так включи
 

Фанат

oncle terrible
Команда форума
Ударница
Может быть, стот поменять тогда структуру своей программы?
если всё так плохо?
почему обязательно делать инклюд внутри функции, например?

-~{}~ 29.03.06 16:41:

Mavir
Надо, всё-таки, несного думать перед тем, как отвечать.
Не лепить ответ в лоб, так как вопрос задан, а задуматься: запрашивать свои собственные файлы у себя с сервера эмулируя браузер - это вообще ни в какие ворота не лезет.
Надо в вопросе разобраться, подсказать человеку верный путь, а не помогать ему идти по неправильному.
 

Ударница

Новичок
Фанат, программу писала не я.
Структура у нее оч сложная, куча включений и т.д., тут либо все переписывать, а на это времени нет
поэтому буду искать другие варианты
 

Wicked

Новичок
Ударница
если так все плохо, что по-правильному не можешь, тогда можно через энное место :)

ЕСЛИ при подключении того файла действительно происходят ошибки из-за попытки переопределить функции, тогда можно в подключаемом файле все функции окружить условиями:
if (!function_exists("func1")) {
function func1 (...
}
 
Сверху