我需要从谷歌图表中获取图像,但我是代理人的背后。
使用下面的代码(更改$ url)我可以从其他网站获取图片,但不能从谷歌获取图片:
$ url = “http://chart.apis.google.com/chart?chs=450x270&chd=t:'.$values_list.'&cht=p&chl='.$labels_list.'&chco=80AF1B,FFFF8C& ; CHF = BG,S,F8F8F8' ;
$img = '../uploads/tx_oriindicadores/triglo.png';
file_put_contents($img, t3lib_div::getURL($url));
getURL()方法的代码使用cURL函数来连接和检索数据。
此时我只收到一个空文件。
为了从谷歌获取图片,是否有一些我关心的参数或配置?
感谢。
getURL()方法是TYPO3的原生方法,您可以在此页面中看到代码: http://doc-typo3.ameos.com/4.1.0/class_8t3lib__div_8php-source.html第2342行
我将参数传递到网站的后端。
答案 0 :(得分:1)
尝试var_dump() - 函数的结果。如果它是FALSE,那么你可以通过添加一个来解决问题
在curl_close($ ch)之前echo curl_error($ch);
;在getUrl()函数中并发布错误消息。
答案 1 :(得分:1)
尝试使用网址,例如wget --save-headers看看结果是什么。
然后更改url / agent / cookie设置,直到让它工作。
然后回到PHP。
答案 2 :(得分:0)
getURL函数似乎可以抑制错误。删除错误抑制(@),可能会出现一两个警告。
答案 3 :(得分:0)
上面的函数是正确的,问题是在变量$labels_list
中有空格。因此用%20
替换空格解决了这个问题。
直接URL请求中的空格不是问题,但在cURL中有。
因此,在使用cURL时,一般规则不使用空格,而是使用%20
。