PHP程序運行Python腳本(接收數據及傳參)[PHP Call Python] [有原始碼][延伸發想 PHP call opencv/CNN/ANN….]

PHP程序運行Python腳本(接收數據及傳參)[PHP Call Python] [有原始碼][延伸發想 PHP call opencv/CNN/ANN….]

PHP程序運行Python腳本(接收數據及傳參)[PHP Call Python] [有原始碼][延伸發想 PHP call opencv/CNN/ANN….]


資料來源: https://mp.weixin.qq.com/s/Dot_8Ej76VwS9Ft44C2nng

GITHUB: https://github.com/jash-git/PHP-Call-Python


文字重點摘要:

    介紹一下,如何在php程序中運行Python腳本,在php中python程序的運行,主要依靠程序執行函數,這裡說一下三個相關函數:exec(),system() 和 passthru()。

    這裡主要講 exec() 函數,介紹使用該函數傳遞參數,以及如何使用python返回josn數據供php使用。


Code

01

<?php
$re = exec('python ceshi.py', $out);
// $re = iconv('gbk', 'utf-8', $re);
var_dump($out);
echo '<br/>';
var_dump($re);
?>

def send():
    data = '1,2,3,4,5'
    print(data)
if __name__ == '__main__':
    send()
Footer
© 2022 GitHub, Inc.

02

<?php
$canshu1 = '这是PHP传过来的参数';
$canshu2 = date('Y-m-d');
$re = exec("python ceshi.py $canshu1 $canshu2");
$re = iconv('gbk', 'utf-8', $re);
var_dump($re);
?>

import sys
def send():
    # a1 = sys.argv[1]
    # a2 = sys.argv[2]
    re = sys.argv[1:]
    data = '1,2,3,4,5,' + ','.join(re) # 转字符串
    print(data)
if __name__ == '__main__':
    send()


03

import sys
import json
def send():
    dict = {'id':111, 'title':'测试title'}
    dict['data'] = sys.argv[1:]
    jsonArr = json.dumps(dict, ensure_ascii=False)//(涉及到中文字符的時候,需要指定ensure_ascii=False)
    print(jsonArr)
if __name__ == '__main__':
    send()


04

<?php
echo '这是运行直接输出:';
$re = system('python ceshi.py');
// $re = iconv('gbk', 'utf-8', $re);
echo '<br/>';
echo '这是赋值输出:';
var_dump($re);
?>


05

<?php
echo '这是运行直接输出:';
$re = passthru('python ceshi.py');
// $re = iconv('gbk', 'utf-8', $re);
echo '<br/>';
echo '这是赋值输出:';
var_dump($re);
?>



完整圖文教學:

2 thoughts on “PHP程序運行Python腳本(接收數據及傳參)[PHP Call Python] [有原始碼][延伸發想 PHP call opencv/CNN/ANN….]

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *