У меня проблема с циклами, модулями glob и os. В оболочке python печать печатается, но когда я внедряю свой скрипт python в php, он не работает.Сценарий Python переводит строку с модулями os и glob при запуске в PHP
Питон ниже через PHP печатает только «первый» и «второй», но не печатает «текущий файл: ...».
Возможно, я нашел другой способ для чтения каталога? Модули 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();
Использовать абсолютный путь в вашей переменной «путь» вашего скрипта Python вместо относительной? –
да теперь это работает! – postgres