2012-03-31 8 views
1

Ich bin gerade mit php und Python herum schrauben. Ich habe einen einfachen Python-Skript gemacht, die buchstäblich nur ist - print "Hello World"php Nur Variablen aus Array in die Webseite zurückgeben

Mein PHP-Skript (was in meiner index.php Haupt-Seite ist) ist wie folgt:

<?php 
$output = null; 
exec('C:\\Python27\\python.exe py\\test.py', $output, $return); 
print_r($output); 
?> 

Mein Problem ist, dass es diese gibt :

Array ([0] => Hallo Welt)

Wer weiß, wie nur Hello World in meiner Webseite zurückkehren? Jede Hilfe würde sehr geschätzt werden.

+2

lesen http://php.net/manual/en/function.exec.php –

+2

passthru() möglicherweise http://www.php.net/manual/en/function.passthru.php –

+0

Yeesh fühle ich mich wie ein Idiot ... Danke euch beiden. – Meh

Antwort

0

Der einfachste Weg ist, print_r ($ output) durch echo $ output [0] zu ersetzen.

Da die exec-Anweisung jedoch ein Array mit jeder Zeile zurückgibt, funktioniert es nur mit einem einzeiligen Rückgabewert aus dem Python-Skript. Wenn Sie wirklich die gesamte Ausgabe möchten, müssen Sie das Array durchlaufen.

+2

Dies führt nicht dazu, dass die Exec-Funktion kein Array zurückgibt. Das ist also keine Lösung, es geht eher um die Symptome. –

+0

Stimmen Sie mit @Truth, aber gut versuchen = P –

+0

In Bezug auf Ihre Bearbeitung, das ist falsch bitte RTFM. –

0

Wenn Sie eine Ausgabevariable angeben, wird sie mit einem Array jeder Ausgabezeile gefüllt.

Speichern Sie stattdessen das tatsächliche Ergebnis der exec-Funktion in einer Variablen und echo das.

1
if (is_array($output)){ 
    foreach($output as $v) echo $v . "<br>";} 
else echo $output 
Verwandte Themen