отправлять и принимать данные и от PhantomJS с PHP как:
$command = '/path/to/phantomjs /path/to/my/script.js ' . escapeshellarg($uri);
$result_object = json_decode(shell_exec($command));
ПРЕДУПРЕЖДЕНИЕ: Убедитесь, что отключить ввод пользователя, чтобы другие не выполняли код на вашем сервере!
Внутри JavaScript переменная URI доступен в качестве второго элемента system.args
массива (первый элемент является имя скрипта, которому вы звоните):
var system = require('system');
var uri = system.args[1];
Когда Javascript будет сделано, вы можете выходной переменной JSON перед выходом PhantomJS:
console.log(JSON.stringify({
"status": "success"
}));
phantom.exit();
в первых строках PHP кода в этом примере мы уже используется json_decode()
декодировать обычный текст JSON возвращаемого значения в OBJE кт, поэтому внутри PHP мы можем получить доступ к переменной status
с помощью:
print $result_object->status;
Я вижу список, но я не вижу здесь ничего, что может помочь мне передать некоторые данные из PHP в phantomjs файл – arvinsim
@arvinsim ли вы хотите отредактировать файл 'phantomjs-file.js', прежде чем выполнять phantomjs? Вы можете просто открыть файл с помощью fopen и отредактировать его, как обычно, вы редактируете файл на PHP. – Paulpro
Не совсем. То, что я имел в виду, выглядит примерно так: у меня есть данные из PHP, как ури. Я хочу передать эти данные в файл phantomjs, который будет выполнен. – arvinsim