我有一个脚本,为客户生成谷歌图表图像。它可以很好地显示在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保存图像,结果也是一样的。
下面是我的谷歌图表$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发布于 2011-03-30 16:21:41
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; ?>发布于 2011-01-25 04:23:48
我最终设法让它工作了-似乎标签名称中的空格导致了错误,用%20替换确实起到了作用
https://stackoverflow.com/questions/4775181
复制相似问题