我正在尝试通过在localhost上从php脚本执行my_task.py来保存matplot图像。
my_task.py
# do this before importing pylab or pyplot
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1,2,3])
#fig.savefig('/var/www/html/test.png') # or relative path ('test.png') - Here I have an error - filename_or_obj = open(filename_or_obj, 'wb') IOError: [Errno 13] Permission denied: '/var/www/html/test.png'
print "Hello<br>"
import sys
fig.savefig(sys.stdout, type='png')
如果我正在尝试fig.savefig(sys.stdout,type ='png') - 我会收到ieroglighs,不可读的符号,如:
‰PNG IHDR Xљv‚psBIT|d€ pHYsaaЁ?§i IDATxњмЭ}lЦхЅяс'([О)xЊДrм™r°fБШкђўмЂШ ўђўЁґCV2n„QПшi9•№33ШЩЌ=ћeвNpЭI=‰їљ%PІЪiЎwм¤МЙ офtМЦ#ЗZЫ^ї?>gQn ґЧчєy>’&хZ/|5!qЇлуюѕ?#b±XI’$IЉѓ‘Q
ђ$I’”>, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n,
’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, ’$I’вЖ"I’$)n, зрпяюп<рАЊ?ћїьЛїdмШ±ЬuЧ]јьтЛѓzясгЗyфСG№цЪkЙИИа®»овхЧ_жФ’$IRb»2к‰кдЙ“ЬpГ ,]є”їщ›
但是如果我尝试fig.savefig('/ var / www / html / test.png')或相对路径('test.png')我有一个错误:
filename_or_obj = open(filename_or_obj, 'wb')
IOError: [Errno 13] Permission denied: '/var/www/html/test.png'
请帮助我格式化为png或具有克服权限的权限! 怎么做 - 正确格式化为png或授予权限以克服权限?
这是php-code:
<?php
$pytask = 'python py/my_task.py';
echo "<br>" .$pytask,"<br>";
$command = escapeshellcmd($pytask);
$output = shell_exec($command);
echo "<p>",$output,"</p>";
echo '<p><img src="/PyPlots/test.png" class="img-responsive img-thumbnail" alt="Куыгде"/></p>';
?>
增加: 当我在php中尝试这个:
header("Content-type: image/png");
我收到了另一个错误: 图片“http://localhost/test.php”无法显示,因为它包含错误