我的PHP JpGraph代码显示错误,如
The image "http://localhost/jpeg/src/Examples/x.php" cannot be displayed
because it contains error
当我搜索帖子here和here时,指出的主要问题是开头或结尾的空格或标题问题。但我找不到空格(我希望标题是可以的,因为它是一个最简单的手册示例)。
只是尝试一下,我试图保存图像而不是在浏览器中显示。但是它显示了另一个问题,因为 JpGraph错误:25107无法写入文件,php进程没有权限。但是在搜索某些来源后我无法解决第二个错误。我担心自己走错了道路并做了一些盲目的事情。任何人都可以指导我吗?
我使用代码生成JpGraph:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL ^ E_NOTICE);
require_once('jpgraph/jpgraph.php');
require_once('jpgraph/jpgraph_matrix.php');
$data = array(
array(0,1,2,3,4,5,6,7,8,9,10),
array(10,9,8,7,6,5,4,3,2,1,0),
array(0,1,2,3,4,5,6,7,8,9,10),
array(10,9,8,17,6,5,4,3,2,1,0),
);
$graph = new MatrixGraph(400,300);
$graph->title->Set('Basic matrix example');
$graph->title->SetFont(FF_ARIAL,FS_BOLD,14);
$mp = new MatrixPlot($data);
$graph->Add($mp);
//$graph->Stroke();
$graph->Stroke("myimage.png");
?>
答案 0 :(得分:0)
我解决了这个问题。由于白色空间,这是一个问题,但在一些源文件中。以下是我为克服错误而采取的两个步骤,
在php.ini文件中,将输出缓冲设置为0而不是4096.
在源文件(jpgraph_matrix.php和jpgraph_glayout_vh.inc.php)中,开头和结尾都有一些额外的空格。完成第一步(设置缓冲区)后,包含文件和行的空白区域显示在浏览器中。删除这些行后,将生成图表。
答案 1 :(得分:0)
我刚刚遇到这个问题。 “JpGraph错误:25107无法写入文件....” 我更改了图像文件的权限。 chmod 777文件名。 然后它的工作原理。 希望它会有用。
答案 2 :(得分:0)
Please try this
require_once ('jpgraph/src/jpgraph.php');
require_once ('jpgraph/src/jpgraph_pie.php');
// Some data
$data = array(30,70);
// Create the Pie Graph.
$graph = new PieGraph(350,250);
$theme_class="DefaultTheme";
//$graph->SetTheme(new $theme_class());
// Set A title for the plot
//$graph->title->Set("A Simple Pie Plot");
$graph->SetBox(true);
// Create
$p1 = new PiePlot($data);
$graph->Add($p1);
$p1->ShowBorder();
$p1->SetColor('black');
$p1->SetSliceColors(array('#baeeff','#1ac6ff'));
//$graph->Stroke();
$graph->Stroke(dirname(__FILE__).'/images/pieChart.png');
//Image URL like:http://localhost/jpgraph_text/images/pieChart.png
echo '<img src="'.$image_url.'" />';
答案 3 :(得分:0)
这可能是由于页面上的多余空格引起的。确保在打开<?php标签之前没有任何空格或换行符。
答案 4 :(得分:0)
使用根路径访问您的文件。
$fileName = dirname(__FILE__, 5).'/uploads/invoices/g.jpg';