Строим кнопочку с WebAlta Rank средствами PHP
Имхо нашумел этот поисковик – WebAlta, хотя с чего бы? Я вот до сих пор не могу найти, как добавить сайт в эту систему и как туда попали некоторые мои сайты? Если кто подскажет огромное спасибо. Правда следует наверно отметить, что трафика с него пока мало, а точнее его вообще нет. Хотя, справедливости ради стоит отметить, что может это временно или действительно речь идёт о качестве релевантности. В любом случае речь пойдёт далеко не об этом.
Я как-то спрашивал у Алексея Гурешова на счёт возможности считывания уровня доверия, ведь каждому не угодишь и та кнопочка, что нравится одному может не понравится другому. Приятно было получить скорый ответ, в котором было дано решение проблемы, к примеру по URL: http://www.webalta.ru/reliance?url=www.jumplink.ru — можно считать данные одного из мох каталогов. Никакого XML, сухие данные, т.е. то, что надо. Дабы не быть скупым на информацию позволю себе небольшое решение, как замутить теперь свою кнопочку. И так, создадим шаблончик, обычный png файл.
Ну а вот скриптик с моими комментариями, сразу уточню, что он писался для так сказать щадящего режима, т.е. с кешированием данных и их обновлением раз в сутки, но без всяких там кронов и т.д.
$url = "kurilka.co.ua"; // ваш юрлчик
$imgname = "wp-images/webalta.png"; // ваш шаблончик
$cache = "webalta.dat"; // файл кеша данных
$dt = @filemtime($cache); // отслеживаем необходимость обновления
if (!file_exists($cache) or date ('Y-m-d', $dt) != date ('Y-m-d')) {
$str = file_get_contents("http://www.webalta.ru/reliance?url=".$url); // считываем данные в строку
$fp = fopen($cache, "w+"); // записываем данные в кеш файл
fwrite($fp, $str);
fclose($fp);
} else {
$str = file_get_contents($cache); // считываем данные из кеша
}
list($star,$rank) = split("[ ]",$str); // разбиваем данные на переменные
$im = @imagecreatefrompng ($imgname); // считываем шаблончик
if ($im) {
header ("Content-type: image/png"); // отсылаем заголовок, что это PNG
$color = imagecolorallocate($im, 255, 255, 255); // задаём цвет шрифта
// прописываем данные на шаблон
imagestring($im, 1, 18, 3, $rank, $color);
imagestring($im, 1, 70, 3, $star, $color);
imagepng($im);
}
Конечно, от кеша можно отказаться, просто нагрузка ведь не только на сервер WebAlta, но и на ваш. Сейчас бывает, что шалят каналы связи и это может быть проблемой для обновления файла. Кстати, можно кешировать не просто данные, а саму картинку, но это я оставлю на ваше трудолюбие, т.к. к концу этой заметки моё явно понизилось.