2016-01-12 20 views
1

我是誰返回2倍的值,溼度和溫度的python腳本:調用Python值

Temperature: 1.58050537109 
Humidity: 89.2761230469 

我稱之爲srcipt從PHP頁面,但只打印了一個價值

<?php 
echo exec("sudo python /home/pi/sht/sht31.py 2>&1"); 
?> 

只打印一個溼度。你能幫我打印兩個值嗎? 謝謝

+0

沒有sudo不能讀取I2C和使用我的腳本... – jimbolino

回答

2

如果您只用命令字符串調用exec(),那麼它將只返回最後一行輸出。爲了捕捉一切與第二個參數調用它來獲取所有輸出:

exec('command', $output); 
var_dump($output); 
0

現在輸出的是:

array(5) { [0]=> string(5) "False" [1]=> string(4) "True" [2]=> string(5) "False" [3]=> string(26) "Temperature: 1.56982421875" [4]=> string(23) "Humidity: 89.3859863281" } 

與此代碼:

exec('sudo python /home/pi/sht/sht31.py' , $output); 
var_dump($output); 
+0

請注意,如果數組已經包含某些元素,則exec()將追加到數組的末尾。如果您不希望函數追加元素,請在將數組傳遞給exec()之前先調用unset()方法。 –