Привет, мне нужно получить результат (переменную) из другого файла PHP. Однако включенный файл вызовет некоторые библиотеки и коды, которые конфликтуют с моими кодами.
Например
new.php
function getOld(){
ob_start();
include( __DIR__.'/old.php' );
return ob_get_clean();
}
$a = getOld();
var_dump($a); // able to get the result (echoed json) from old.php
define("version", "1.0"); // Warning, cannot re-defined
include "new version library" // The old version library is inited
old.php
define("version", "0.1");
include "old version library";
// Many logics here...
echo json_encode(array("id"=>........));
Я знаю, что могу использовать Ajax для вызова файла, однако сервер не может напрямую вызывать файлы библиотеки, и многие файлы необходимо изменить.
Есть ли какой-либо более быстрый способ получить результат других файлов php без включения кодов (например, песочница)
Как насчет попытки инициировать запрос curl для получения результата функции в файле для захвата результата желаемого скрипта без включения. Этот пост может относиться к вашей потребности. coderhelper.com/questions/6560512/…, в качестве альтернативы, в качестве запоздалой мысли, может потребоваться инкапсулировать содержимое файла в функцию класса или в пространство имен или класс, чтобы предотвратить конфликт.
попробуйте, инициировав запрос curl для вызова определенного файла и метода. Было бы лучше.