Конкретная проблема, над которой я работаю, - это включение https с помощью Google charts API и возможный лимит символов при использовании php file_get_contents в строке URL.Позвольте мне рассказать вам, что происходит.Я добился хорошего прогресса, используя некоторые учебники в сети, в частности, чтобы включить https.Я использую их «базовый метод» из этого урока:
http://webguru.org/2009/11/09/php/how-to-use-google-charts-api-in-your-secure-https-webpage/
У меня есть файл chart.php с таким кодом:
<?php
$url = urldecode($_GET['api_url']);
$image_contents = file_get_contents($url);
echo $image_contents;
exit;
?>
Iя вызываю этот файл со своей главной страницы, передавая ему «тестовый» URL-адрес диаграммы Google (я использовал много разных), длина которого составляет 513 символов:
$chartUrl = urlencode('http://chart.apis.google.com/chart?chxl=0:|Jan|Feb|Mar|Jun|Jul|Aug|1:|100|75|50|25|0&chxt=x,y&chs=300x150&cht=lc&chd=t:60.037,57.869,56.39,51.408,42.773,39.38,38.494,31.165,30.397,26.876,23.841,20.253,16.232,13.417,12.677,15.248,16.244,13.434,10.331,10.58,9.738,10.717,11.282,10.758,10.083,17.299,6.142,19.044,7.331,8.898,14.494,17.054,16.546,13.559,13.892,12.541,16.004,20.026,18.529,20.265,23.13,27.584,28.966,31.691,36.72,40.083,41.538,42.788,42.322,43.593,44.326,46.152,46.312,47.454&chg=25,25&chls=0.75,-1,-1');
Чтобы отобразить изображение на главной страницестраница Я использую этот код:
<img src="https://mysite.com/chart.php?api_url=<?php echo $chartUrl; ?>" />
В примере строки $ chartUrl ничего не должно отображаться.Он будет работать нормально, пока длина строки $ chartUrl не превысит 512 символов (без кодирования).Например, если вы используете эту строку ниже (длиной 512 символов):
$chartUrl = urlencode('http://chart.apis.google.com/chart?chxl=0:|Jan|Feb|Mar|Jun|Jul|Aug|1:|100|75|50|25|0&chxt=x,y&chs=300x150&cht=lc&chd=t:60.037,57.869,56.39,51.408,42.773,39.38,38.494,31.165,30.397,26.876,23.841,20.253,16.232,13.417,12.677,15.248,16.244,13.434,10.331,10.58,9.738,10.717,11.282,10.758,10.083,17.299,6.142,19.044,7.331,8.898,14.494,17.054,16.546,13.559,13.892,12.54,16.004,20.026,18.529,20.265,23.13,27.584,28.966,31.691,36.72,40.083,41.538,42.788,42.322,43.593,44.326,46.152,46.312,47.454&chg=25,25&chls=0.75,-1,-1');
Диаграмма должна появиться.Разница между строками составляет один символ.«Реальная» строка API диаграммы Google, которую я буду использовать в окончательной версии, имеет длину около 1250 символов.
Так это ограничение для get_file_contents ()?Я рассматривал cURL как альтернативу, но его особенности выходят за пределы моей головы.Может ли кто-нибудь подтвердить лимит символов и, если возможно, внести некоторые предложения?
Большое спасибо, Нил