2017-10-12 87 views
0

我正在使用HighCharts并使用cURL保存图表图像。它在我的本地主机上正常工作。但是当我在服务器上尝试相同的代码时,图像是空白的。而在服务器的error_log我发现这个警告消息:Highchart使用cURL保存图表图像

PHP Warning: imagecreatefromjpeg(): '10361254147.jpeg' is not a valid JPEG file in public_html/project/assign_img.php on line 34 

,我现在用的就是下面的代码:

$imgNm = 'https://export.highcharts.com/charts/chart.2ce468213abe432aa1c288339f90171e.jpeg'; 
$img = 'xyz.jpeg'; 
$ch = curl_init($imgNm); 
$fp = fopen($img, "w"); 
curl_setopt($ch, CURLOPT_FILE, $fp); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_exec($ch); 
curl_close($ch); 
fclose($fp); 

imagecreatefromjpeg($img); 

不知道我在哪里错了。

+0

您提供的链接正在响应HTTP状态404 – CodeBrauer

+0

这只是一个参考网址..我正在生成一个很好的工作,并在我的本地主机生成图像。但没有在服务器上工作 – Mona

回答

0

我为SSL验证添加了一行,它是错误的,代码对我来说工作得很好。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

希望这可以帮助别人。

0

如果你只是想保存文件,并显示在浏览器中你不需要卷曲:

$imgNm = 'https://export.highcharts.com/charts/chart.2ce468213abe432aa1c288339f90171e.jpeg'; 
$filename = 'xyz.jpeg'; 

$image_data = file_get_contents($imgNm); 
file_put_contents($filename, __DIR__ . '/' . $imgNm); 

在此之后,文件保存在同一目录中的脚本(名为“xyz.jpeg” ),你可以以任何你想要的方式使用它

+0

我已经使用file_get_contents,但它不工作..这就是为什么我使用卷曲。 – Mona