1

for cycle と glob と os モジュールに問題があります。Python Shell では印刷が印刷されますが、Python スクリプトを php に埋め込むと機能しません。

以下の PHP 経由の python は、「first」と「second」のみを出力しますが、「current file is:...」は出力しません。

ディレクトリを読み取るための別の方法を見つけることができますか?glob および os モジュールは PHP と互換性がありませんか?

パイソン:

print("first")
path = 'cat/tryfile'
for infile in glob.glob( os.path.join(path, '*.jpg') ):
    print("current file is: " + infile )
print("second")

PHP:

$param1 = "first";
$param2 = "second";
$param3 = "third";


$command = "C:\\python27\\python C:\\Python27\\execprova.py";


#FIRST PYTHON embedding with popen

$command .= " $param1 $param2 $param3 2>&1";
$temp = exec($command, $return);
echo "INIZIO PID";
$pid = popen( $command,"r");
echo "<body><pre>";
while( !feof( $pid ) )
{
echo fread($pid, 256);
flush();
ob_flush();

usleep(100000);
}
pclose($pid);


#SECOND PYTHON embedding with exec          
echo (" {PHP inizio command output return ed exec  /PHP} ");

$command = "C:\\python27\\python C:\\Python27\\bp1imgsenzaprint.py";
$output = null;
$temp = exec($command);


function success() 
{
$mystring = exec('C:\\python27\\python C:\\Python27\\bp1imgsenzaprint.py', $output);
var_dump($output);
var_dump($mystring);
print_r($output);
}

print("SUCCESS");
success();
4

1 に答える 1