我上传了一个图像文件并将其从临时文件夹复制到 /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)
Note:上传的图像在上传后显示为 www-data 组所有。我已将我的用户添加到 www-data 组,并执行了以下操作。
sudo chown -R tilaprimera:www-data upload
sudo chmod -R g+s upload
这里的 upload 是我存储上传图像的文件夹。我也使 python 脚本可执行,
sudo chmod +x script.py
而且 script.py 也完美运行
./script.py
为什么 python 脚本不通过 php 执行?
在 python 脚本文件中,目录更改的完成方式如下
os.chdir('/var/www/upload')
在 php 方面,我给出了 python 脚本运行的完整路径
exec('python /var/www/upload/script.py ' . $_FILES["file"]["name"]);
这样一来,问题就解决了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)