PHP图像保存权限中的JpGraph错误:“0”;JpGraph错误:25107“;

PHP图像保存权限中的JpGraph错误:“0”;JpGraph错误:25107“;,php,jpgraph,Php,Jpgraph,我的PHP JpGraph代码显示如下错误 The image "http://localhost/jpeg/src/Examples/x.php" cannot be displayed because it contains error 当我搜索帖子和时,显示的主要问题是开头或结尾处的空白或标题问题。但是我找不到空白(我希望标题可以,因为这是一个最简单的手动示例) 只是为了尝试一下,我尝试保存图像而不是在浏览器中显示。但它显示了另一个问题,即JpGraph错误:25107无法写入文件,ph

我的PHP JpGraph代码显示如下错误

The image "http://localhost/jpeg/src/Examples/x.php" cannot be displayed
because it contains error
当我搜索帖子和时,显示的主要问题是开头或结尾处的空白或标题问题。但是我找不到空白(我希望标题可以,因为这是一个最简单的手动示例)

只是为了尝试一下,我尝试保存图像而不是在浏览器中显示。但它显示了另一个问题,即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");
?>

我解决了这个问题。这是一个问题,由于空白,但在一些源文件。以下是我克服错误的两个步骤

  • 在php.ini文件中,将输出缓冲设置为0,而不是4096

  • 在源文件(jpgraph_matrix.php和jpgraph_glayout_vh.inc.php)中,开头和结尾都有一些额外的空白。完成第一步(设置缓冲区)后,包含文件和行的空白将显示在浏览器中。删除这些线后,将生成图形

  • 我刚刚遇到了这个问题。“JpGraph错误:25107无法写入文件…” 我更改了图像文件的权限。 chmod777文件名。 然后它就起作用了。 希望它会有用

    请试试这个
    
    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.'" />';
    
    require_once('jpgraph/src/jpgraph.php'); require_once('jpgraph/src/jpgraph_pie.php'); //一些数据 $data=阵列(30,70); //创建饼图。 $graph=新图形(350250); $theme\u class=“DefaultTheme”; //$graph->SetTheme(新的$theme_类()); //设置绘图的标题 //$graph->title->Set(“简单饼图”); $graph->SetBox(true); //创造 $p1=新的PiePlot($data); $graph->Add($p1); $p1->ShowBorder(); $p1->SetColor(“黑色”); $p1->setLiceColors(数组(“#baeeff”、“#1ac6ff”); //$graph->Stroke(); $graph->Stroke(dirname(_文件)'/images/pieChart.png'); //图像URL类似于:http://localhost/jpgraph_text/images/pieChart.png 回声';
    这可能是由于页面上的额外空白造成的。在打开文件之前,请确保没有任何空格或换行符使用根路径访问文件

    $fileName = dirname(__FILE__, 5).'/uploads/invoices/g.jpg';
    

    要确保图像数据前后没有空格,请尝试从浏览器(ctrl+s)保存文件,然后在十六进制编辑器中打开,以避免出现权限错误。图像中可能会打印警告或其他内容。正如Raphael所说,尝试保存它以查看PHP是否在其中添加了愚蠢的东西。正如我所提到的,将png图像定向到浏览器会导致显示错误的黑屏,因为它包含错误,所以无法显示图像“”。我将其保存为png(ctrl+s)。使用gedit打开保存的png文件时,会显示“您打开的文件中有一些无效字符。如果继续编辑此文件,可能会损坏此文档。您也可以选择其他字符编码并重试。(但打开正常png文件时也会出现此警告错误)感谢@RaphaelSchweikert和Jérôme Mahuet的指导。