Как вернуть результат файла php без включения файла

avatar
saakrubber
9 августа 2021 в 02:55
91
0
0

Привет, мне нужно получить результат (переменную) из другого файла 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 без включения кодов (например, песочница)

Источник
Vahe Jabagchourian
9 августа 2021 в 03:06
1

Как насчет попытки инициировать запрос curl для получения результата функции в файле для захвата результата желаемого скрипта без включения. Этот пост может относиться к вашей потребности. coderhelper.com/questions/6560512/…, в качестве альтернативы, в качестве запоздалой мысли, может потребоваться инкапсулировать содержимое файла в функцию класса или в пространство имен или класс, чтобы предотвратить конфликт.

PHP Geek
9 августа 2021 в 06:49
1

попробуйте, инициировав запрос curl для вызова определенного файла и метода. Было бы лучше.

Ответы (0)