
Иногда возникает необходимость получения короткой ссылки на ваш материал в блоге или картинку названную кириллическими символами, например для вставки в твит. Для этих целей существует масса готовых решений, таких как, например, сайт bit.ly предоставляющий api под наши нужды. Ниже приведу пример готового класса для работы с сервисом, но для начала нам нужно зарегистрироваться по адресу https://bitly.com/a/sign_up и получить API ключ (строка вида: R_g8g8g6yg76trfhfg7tgy88y8778g8ygg. Пример класса на php для работы с сервисом:
class Bitly {
private $key = 'R_g8g8g6yg76trfhfg7tgy88y8778g8ygg';
private $login = 'youlogin';
private $format = 'txt';
public function getShort($url) {
$arrUrl = array('login'=>$this->login,'apiKey'=>$this->key,'uri'=>$url,'format'=>$this->format);
$connectURL = "http://api.bit.ly/v3/shorten?".http_build_query($arrUrl);
return $this->getResult($connectURL);
}
public function getLong($url) {
$arrUrl = array('login'=>$this->login,'apiKey'=>$this->key,'shortUrl'=>$url,'format'=>$this->format);
$connectURL = "http://api.bit.ly/v3/expand?".http_build_query($arrUrl);
return $this->getResult($connectURL);
}
private function getResult($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
}
Настройки для вашего аккаунта внесены в тело класса (замените их на свои):
private $key = 'R_g8g8g6yg76trfhfg7tgy88y8778g8ygg';//API ключ
private $login = 'youlogin';// Логин в системе
private $format = 'txt';//Формат данных
Пример кода для работы с классом для получения короткой ссылки или наоборот:
$bitly = new Bitly;
$short_url = $bitly->getShort("http://studiof1.ru/blog/seo/yandex-katalog/");
$long_url = $bitly->getLong($short_url);
Код выше выведет ссылку вида http://bit.ly/1qfUKEA и полную ссылку http://studiof1.ru/blog/seo/yandex-katalog/ На этом - все. Приятной работы.