Bir url dize php file_get_contents kullanırken üzerinde çalışıyorum belirli sorunu Google çizelgeleri API ile https sağlayan ve olası bir karakter sınırı olduğunu. Bana ne oluyor size alalım. Ben özellikle https etkinleştirmek için, net bazı öğreticiler kullanarak iyi bir ilerleme yaptık. Ben bu yazının kendi 'temel yöntem' kullanıyorum:
http://webguru.org/2009/11/09/php/how-to-use-google-charts-api-in-your-secure-https-webpage/
Ben bu kod ile bir chart.php dosyası vardır:
<?php
$url = urldecode($_GET['api_url']);
$image_contents = file_get_contents($url);
echo $image_contents;
exit;
?>
Ben 513 karakter uzunluğunda bir 'test' Google grafik URL (birçok farklı olanları kullanmış) ona, geçen, benim ana sayfasından bu dosyayı arıyorum:
$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');
Ben bu kodu kullanıyorum benim ana sayfasında görüntüyü görüntülemek için:
<img src="https://mysite.com/chart.php?api_url=<?php echo $chartUrl; ?>" />
Örnek $ chartUrl dize şey göstermesi gerekir. Bu $ chartUrl dize (şifresiz) uzunluğu 512 karakteri aşıyor kadar iyi çalışır. Örneğin (512 karakter uzunluğunda) aşağıda bu dizeyi kullanırsanız:
$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');
Grafik göstermek gerekir. Dizeleri arasındaki fark bir karakter. Ben son sürümü kullanıyor olacak 'gerçek' Google grafik API dize yaklaşık 1250 karakter uzunluğunda olduğunu.
Yani bu get_file_contents bir limit () nedir? Ben alternatif olarak cURL baktım, ama onun özelliklerini kafamın üzerine gitmek. Birisi karakter limitini onaylamak ve mümkünse bazı önerilerde yapabilir miyim?
Many thanks, Neil