Есть ли способ передать изображение как переменную из PHP в Python Script
Я получаю сообщение об ошибке при передаче закодированного в Base64 String изображения в Python Script ...., который не может запустить shell_execute("python hello.py $data"). Вот мой код
PHP-файл
<?php
echo "Good Work";
$img = file_get_contents("aaaa.jpg");
$data = base64_encode($img);
$output = shell_exec("python hello.py".$data);
echo $output;
?>
файл hello.py
import sys
import base64
image_64_encode=sys.argv[1]
with open("image.jpg","wb") as fh:
fh.write(base64.decodebytes(image_64_encode))`
1 ответ
Лучший способ сделать это - записать ваш base64 в отдельный файл, чтобы кодировка не требовалась. Я немного изменил ваш код, чтобы отразить это.
PHP ФАЙЛ
<?php
$img = file_get_contents("image.jpg");
$data = base64_encode($img);
$content = $data;
$file = "myFile.base64";
$fp = fopen($file,"wb");
fwrite($fp,$content);
fclose($fp);
$output = shell_exec("python hello.py $file");
echo $output;
?>
ФАЙЛ ПИТОНА
import sys
import base64
file=sys.argv[1]
f = open(file)
base_64 = f.read()
# print (base_64)
# Do what you want with the base_64 variable.
image_64_encode=base_64
with open("image.jpg","wb") as fh:
fh.write(base64.decodebytes(image_64_encode))