<font id="nc9yk"></font>
  • <tt id="nc9yk"></tt>
          <rp id="nc9yk"><optgroup id="nc9yk"></optgroup></rp>
          <tt id="nc9yk"><form id="nc9yk"></form></tt>

            <cite id="nc9yk"></cite>

            python如何調用php文件中的函數詳解

             更新時間:2020年12月29日 10:46:57   作者:xiaofeiyuan  
            這篇文章主要給大家介紹了關于python如何調用php文件中函數的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

            前言

            python調用php代碼實現思路:php文件可通過在terminal中使用php命令行進行調用,因此可使用python開啟子進程執行命令行代碼。函數所需的參數可通過命令行傳遞。

            測試環境

            1、操作系統:macos10.13.2

            2、php版本:PHP 7.1.7(mac自帶)

            3、python版本:python3.6.0

            4、python庫:subprocess

            調用php函數

            php命令行調用php文件中的函數

            php文件:test_hello.php

            <?php
            
            
            function hello_world($s1)
            {
            	$str1 = $s1;
            	echo $str1;
            	echo "\n";
            }
            
            function hello_world2($s1, $s2)
            {
            	$str1 = $s1;
            	$str2 = $s2;
            	echo $s1;
            	echo "**********";
            	echo $s2;
            	echo "\n";
            }
            
            // 獲取參數,索引為0為調用的文件路徑,索引為1為調用的函數,索引為2為函數傳入參數$s1,索引為3為函數參數$s2
            
            var_dump($argv);
            // exit;
            
            // 調用函數
            $func_name = $argv[1];
            
            
            if ($func_name == "hello_world")
            {
            	// 參數1
            	$param1 = $argv[2];
            	hello_world($param1);
            }
            elseif ($func_name == "hello_world2")
            {
            	// 參數1
            	$param1 = $argv[2];
            	// 參數2
            	$param2 = $argv[3];
             hello_world2($param1, $param2);
            }
            else
            {
             echo "the function $func_name is not exist !";
            }
            
            ?>
            

            terminal執行php命令

            # 字符串中包含空格、逗號、反斜杠,需要使用""來確定為1個參數
            php -f test_hello.php hello_world "My name is John\\, age is 20."
            php -f test_hello.php hello_world2 "My name is John\\, age is 20." "My hometown is BaoDing."
            php -f test_hello.php hello_world3 "My name is John\\, age is 20."
            

            執行結果

            python子進程執行php命令行

            python文件:test.py,將test_hello.php與test.py放在同目錄下運行

            import subprocess
            
            
            class Test(object):
             def run(self, cmd):
             proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) # 開啟子進程
             res = proc.stdout.read()
             if res:
              res = res.decode()
             return res
            
            
            cmd1 = 'php -f test_hello.php hello_world "My name is John\\, age is 20."'
            cmd2 = 'php -f test_hello.php hello_world2 "My name is John\\, age is 20." "My hometown is BaoDing."'
            cmd3 = 'php -f test_hello.php hello_world3 "My name is John\\, age is 20."'
            obj = Test()
            for i in [cmd1, cmd2, cmd3]:
             res = obj.run(cmd1)
             print(res)
             print("*" * 10)
            

            到此這篇關于python如何調用php文件中函數的文章就介紹到這了,更多相關python調用php函數內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

            相關文章

            最新評論

            hao500彩票 www.nj-tyjx.com:揭西县| www.hkszw.cn:什邡市| www.m7662.com:伊春市| www.polperrocornwall.com:丰宁| www.soundwirerecords.com:比如县| www.cheabc168.com:思茅市| www.bdyjxm.com:会泽县| www.boomtownbabylon.com:布尔津县| www.qhzxz.com:墨玉县| www.amusementsrereko.com:和林格尔县| www.vsdtv.com:义乌市| www.nb-kailong.com:商都县| www.calendergirlz.com:铁力市| www.jljxg.cn:花垣县| www.sadosanmakina.com:姜堰市| www.qm-cz.com:陆河县| www.activeppcturkiye.com:万安县| www.beauty-na.com:龙州县| www.acseconference.com:布尔津县| www.tmhatter.com:兴国县| www.showbar8.com:玉山县| www.desmohio.com:成都市| www.georgepappasltd.com:阿图什市| www.dawidswierczek.com:太和县| www.non-league.net:闸北区| www.unichina-tech.com:平阴县| www.dickalerts.com:浦北县| www.cmagermany.com:耒阳市| www.pj88851.com:文登市| www.vsdtv.com:泰安市| www.senamobilyadekorasyon.com:无为县| www.bbcgj.com:华蓥市| www.yzhytkd.com:尚志市| www.assurancecarolefortin.com:安溪县| www.wwwbc250.com:华蓥市| www.hhlbw.cn:柞水县| www.resultsseekers.com:乳山市| www.oranjebastion.org:海丰县| www.w6882.com:桑植县| www.xcynfx.com:同德县| www.yaoniewg.com:洪江市| www.urbir.com:黄冈市| www.total-cover.com:苏尼特右旗| www.tangoporteno.org:宿松县| www.cursosrioja.com:敦化市| www.masyyy.com:南宫市| www.cg955.com:保亭| www.021yhj.com:肥乡县| www.wc915.com:绵阳市| www.ohmygodvideo.com:慈利县| www.dualbux.com:原平市| www.024wanlikt.com:平潭县| www.mfrzz.com:红河县| www.lzmlh.com:遂昌县| www.kljlw.cn:丹棱县| www.cxqht.cn:金门县| www.52gegegan.com:新和县| www.crg-x.com:铜陵市| www.wughsc.com:郧西县| www.lvvbbe.com:田林县| www.wuxihuahao.com:达尔| www.fullhouseprinting.com:万荣县| www.tssth.org:九龙城区| www.110df.com:唐山市| www.jk852.com:汽车| www.cxpzc.cn:瓦房店市| www.m2667.com:双城市| www.zhongchentebao.com:海伦市| www.abitiusati.net:炎陵县| www.mlshgs.com:临汾市| www.mai0565.com:沧源| www.dirload.com:西充县| www.bergerallemand.net:塔河县| www.offreznouslolympia.com:舟曲县| www.hbhunyin.com:汉沽区| www.3721waibao.com:湖口县| www.cdmjob.com:宁强县| www.kmm-llc.com:绩溪县| www.enshuohuojia.com:新晃| www.tiantaojiaosu.com:铁岭县| www.bieberlc.com:佛冈县| www.hongdachen.com:略阳县| www.tudakozoonline.com:石嘴山市| www.crowdcomputingblog.com:徐汇区|