php функция за съкращаване на url

Преди ползвах простия метод за съкращаване на URL, чрез http://is.gd или  с PHP изпълнено изглежда така:

$short_url=file_get_contents(„http://is.gd/api.php?longurl=“.$post_url);

Но забелязах, че във facebook този редирект (is.gd) е репортнат от потребителите за извършени злоутпореби и заради това Facebook не позволяват тези линкове(т.е. позволяват да се добавят в постовете, но не можеш да ги отвориш). За целта реших да премина на друг редиректор които да си работи(btw: този is.gd работи в twitter и edno23, но не и във facebook).
Преминах към http://bit.ly . Направих си регистрация (прави се за секунда) и понеже ше правя ключове от PHP си взех APP ключа от ТУК . След това още от първия сърч видях, че има написана проста функция за съкращане на урл, чрез bit.ly . Ето я и функцията:

function make_bitly_url($url,$login,$appkey,$format = ‘xml’,$version = ‘2.0.1’)
{
//create the URL
$bitly = ‘http://api.bit.ly/shorten?version=’.$version.’&longUrl=’.urlencode($url).’&login=’.$login.’&apiKey=’.$appkey.’&format=’.$format;

//get the url
//could also use cURL here
$response = file_get_contents($bitly);

//parse depending on desired format
if(strtolower($format) == ‘json’)
{
$json = @json_decode($response,true);
return $json[‘results’][$url][‘shortUrl’];
}
else //xml
{
$xml = simplexml_load_string($response);
return ‘http://bit.ly/’.$xml->results->nodeKeyVal->hash;
}
}//End of function make_bitly_url($url,$login,$appkey,$format = ‘xml’,$version = ‘2.0.1’)

/* usage */
//$short = make_bitly_url(„УРЛ_което_ще_се_съклращава“,“Потребителско_име“,“APP ключ“,“json“);
//Примерни реални данни
//$short = make_bitly_url(„http://nishto.net“,“mpetrov_net“,“R_123ghh7b0db18a42ab1e050e13461551″,“json“);
//echo ‘The short URL is:  ‘.$short;

Хубав ден 🙂

Категория:

2 отговора

  1. Аватарът на Иван

    Искам само да допълня, че с API-то на bit.ly може да се използва и другия им домейн – j.mp

  2. Аватарът на hip0

    Здрасти Март. Виж това може да ти е интересно,
    http://www.pc-freak.net/blog/disable-apache-http-trace-method-to-improve-apache-security/

Logged in as {{omniform_current_user_display_name}}. Edit your profile. Log out? Required fields are marked *

Your email address will not be published. Required fields are marked *

Comments are closed.

You must be logged in to post a comment.