我上传了一个图片文件并将其从临时文件夹复制到/ var / www /中的文件夹。然后,尝试通过php执行python命令,其中 exec()命令采用以下格式。
exec('python file.py $_FILES["file"]["name"]');
甚至做以下操作都不起作用,
exec('python file.py' + $_FILES["file"]["name"]);
在python方面,我正在尝试读取文件名并对其进行一些处理并保存图像。
source = cv2.imread(sys.argv[1])
#some processing
cv2.imwrite("upload/result.png", resultimage)
注意:上传后的上传图片显示为www-data group所有。我已将我的用户添加到www-data组,并且还完成了以下操作。
sudo chown -R tilaprimera:www-data upload
sudo chmod -R g+s upload
这里上传是我的文件夹,存储上传的图片。我也使python脚本可执行,
sudo chmod +x script.py
并且script.py完全正常运行
./script.py
为什么python脚本不能通过php执行?
答案 0 :(得分:1)
在python脚本文件中,目录更改以
完成os.chdir('/var/www/upload')
在php方面,我给出了运行python脚本的完整路径
exec('python /var/www/upload/script.py ' . $_FILES["file"]["name"]);
这样,问题就解决了。