我有一个脚本,可以为客户生成Google Chart图像。它可以在HTML中正常显示,但我现在需要将每个图表保存为.png。
如果我尝试:
$imageData = file_get_contents($url);
file_put_contents('C:/xampp/htdocs/image.png',$imageData);
然后我总是收到
[function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400
该脚本适用于普通图像,但不适用于Google图表。如果我使用cURL来保存图像也会得到相同的结果。
我的Google图表$ url的示例如下。我已经剔除冒号和管道符号,但它没有解决问题:
http://chart.apis.google.com/chart?cht=lc&chxt=x,y&chs=700x400&chco=76A4FB,FF9900&chg=0,8.3333333&chdl=Visits|Unique%20visits&chls=3|3&chma=40,20,20,30&chxr=1,0,33411&chds=0,33411&chd=t%3A33411,33411,33411,33411,33411,33411,33411,33411,33411,33411,33411,33411|33411,33411,33411,33411,33411,33411,33411,33411,33411,33411,33411,33411&chxl=0%3A|Jan-10|Feb-10|Mar-10|Apr-10|May-10|Jun-10|Jul-10|Aug-10|Sep-10|Oct-10|Nov-10|Dec-10
答案 0 :(得分:1)
CURL示例:
<?php
$ch = curl_init("www.example.com/curl.php?option=test");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output; ?>
答案 1 :(得分:0)
我设法让这个工作到最后 - 似乎标签名称中的空格导致错误,替换为%20做了伎俩