Я искал Google и Stackoverflow, но не смог найти ответ. Вероятно, это потому, что я ищу неправильный вопрос. Без правильного вопроса трудно получить правильные ответы. Поэтому я надеюсь, что кто-нибудь сможет мне помочь.
Я создал 20 лучших списков, в которых люди могут оценивать свой любимый веб-сайт (я знаю, что это не тот оригинал, но я делаю это для изучения php)
Веб-сайты могут быть добавлены в базу данных и отсортированы по голосам. Каждый сайт имеет свой уникальный идентификатор в базе данных, имя и должность.
Что я не могу понять, так это как сделать следующее.
Рядом с отображаемым списком отображается кнопка получения кода. Эта кнопка создаст код для файла изображения, который можно отобразить на любом веб-сайте. Например:
<img src="http://www.example.com/counter.php?id=47"/>
или даже лучше
<img src="http://www.example.com/47.gif"/>
Для этого мне нужно сделать php-код, который может взять идентификатор и превратить его в красивый файл изображения, и я застрял. Я видел, как это делают твиттер, feedburner, Technorati и более 100 других веб-сайтов, но я не могу понять, как это сделать.
Я нашел этот код, который подделывает feedburner, но я не могу понять, как превратить его в то, что мне нужно.
<?php
//Send a generated image to the browser
create_image();
exit();
function create_image(){
//Create the image resource
$image = imagecreatefromgif('image.gif');
//Create text color
$brown = ImageColorAllocate($image, 0, 0, 0);
//Check for the get parameters
if (isset($_GET['count']) && is_numeric($_GET['count']))
$rank = $_GET['count'];
else
$rank = 20;
// Some Alignment Calculations
$bbox = imagettfbbox(8.5, 1,'verdana.ttf', $rank);
$xcorr = 0 + $bbox[2]; $xcorr = 31 - $xcorr;
//Add the number in brown color to the image
imagettftext($image,8.5,0,$xcorr,16,$brown,'verdana.ttf',$rank);
//Tell the browser what kind of file is come in
header("Content-Type: image/gif");
imagegif($image);
//Free up resources
ImageDestroy($image);}?>
На основании
www.mygeekpal.com/how-to-fake-your-feedburner-subscribers/
Используя приведенный выше код и присвоив ему имя counter.php, я могу получить позицию из базы данных и создать
<img src='http://www.example.com/counter.php?count=".$array ['position']."' />
Это берет положение веб-сайта из базы данных ($array
уже был сделан для извлечения) и создает изображение с позицией nr.
Работает нормально, но как только положение меняется в зависимости от рейтинга пользователя, изображение не будет отображать правильные данные.
Я надеюсь, что кто-то может помочь. Спасибо.
Summery
В основном то, что я пытаюсь сделать, это то, что покажет самые последние данные, основанные на рейтинге веб-сайта. Точно так же, как отображение количества подписчиков в твиттере, например, http://twittercounter.com/counter/?username=labnol или подписчиков feedburner на http://feeds.feedburner.com/~fc/labnol
Оба изображения представляют число, основанное на информации в базе данных. Но я хочу создать свой собственный имидж, основываясь на рейтинге сайта в базе данных.