LoginSignup
81
77

More than 3 years have passed since last update.

phpからpythonを呼び出し実行結果を利用

Last updated at Posted at 2018-09-23

はじめに

この記事ではphpからpythonプログラムを実行し,その出力結果を文字列としてphpのプログラムで利用する方法について解説します.

環境

一応書いたけど大体の環境で動くと思います.
php:5.5.38
python:3.6.4

実行するpythonプログラム

とにかく分かりやすくしました:monkey: 文字列を二行出力するだけです.

exec_from_php.py
print("1line")
print("2line")

当然こうなります.

exec_from_php.pyの実行結果
$ python exec_from_php.py 
1line
2line

phpからpythonを呼び出す

phpで下記のようにexecを呼び出すと,第一引数の文字列のコマンドを実行し,その出力の各行を要素として,第二引数を文字列の配列とします.つまり第二引数は出力される行の大きさの配列となります.第二引数の配列に,既に何らかの要素が含まれている場合,配列の最後に追加される点に注意.

exec($command,$output);

実際に使ってみました.第一引数には先程のpythonプログラムを実行するコマンドを指定しています.そのため,第二引数であるoutputは一つ目の要素が"1line"二つ目の要素が"2line"の配列となっているはずです.

exec_py.php
<?php
$command="python exec_from_php.py ";
exec($command,$output);
print "$output[0]\n";
print "$output[1]\n";
?>

下記の実行結果から無事にoutputに代入されていることが確認できました.

exec_py.phpの実行結果
$ php exec_py.php 
1line
2line

まとめ

phpからpythonを呼び出すことができました.数値を扱いたい方は呼び出し後に,文字列を数値に変換するなりなんなりしたらいいと思います.

81
77
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
81
77