PHP: LA CLASSE PHP PER CREARE URL CORTI TRAMITE LE API DI TINYURL, IS.GD, HEX.IO, TR.IM & BIT.LY
I Short URL sono comunemente usati oggi per diversi motivi: evitare garbling url,
prendere uno spazio più piccolo soprattutto per le URL lunghe che devono essere inviati a
ad esempio in uno spazio limitato come Twitter, oppure vengono spesso utilizzati anche per nascondere l’url originale per fare phishing e gli annunci / affiliazione.
Ci sono molti siti web che forniscono servizi per accorciare url come tinyurl, bit.ly, hex.io, ho creato questo script PHP per Creare url brevi “al volo”, attualmente il supporto: TinyURL, bit.ly, is.gd, tr.im e hex.io, ma si possono facilmente aggiungere altri fornitori.
Se hai delle domande scrivimi un commento oppure scrivimi direttamente tramite la pagina dei contatti.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <?php class ShortUrl { public static function create($url,$provider='tinyurl',$user='',$key='') { $api_url = sprintf(self::api($provider),urlencode($url),$user,$key); return self::inspect($provider,self::execute($api_url)); } private static function execute($url) { $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 5); $text = curl_exec($ch); curl_close($ch); return $text; } private static function inspect($provider,$xml) { if(!empty($xml)) { switch(strtolower(trim($provider))){ case "bitly": $o = new SimpleXMLElement($xml); return (string)$o->results->nodeKeyVal->shortUrl; break; case "trim": $o = new SimpleXMLElement($xml); return (string)$o->url; break; case "isgd": case "hexio": default: return $xml; } } return false; } private static function api($provider) { switch(strtolower(trim($provider))){ case "bitly": $return = "http://api.bit.ly/shorten?version=2.0.1&format=xml&longUrl=%s&login=%s&apiKey=%s"; break; case "isgd": $return = "http://is.gd/api.php?longurl=%s"; break; case "hexio": $return = "http://hex.io/api-create.php?url=%s"; break; case "digg": $return = "http://services.digg.com/url/short/create?url=%s&appkey=%s&type=xml"; break; case "trim": $return = "http://api.tr.im/v1/trim_url.xml?url=%s"; break; default: $return = "http://tinyurl.com/api-create.php?url=%s"; } return $return; } } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 | <?php $url = 'http://www.chazzuka.com/blog/?p=192'; echo ShortUrl::create($url,'trim'); echo '<hr />'; echo ShortUrl::create($url,'tinyurl'); echo '<hr />'; echo ShortUrl::create($url,'isgd'); echo '<hr />'; echo ShortUrl::create($url,'hexio'); echo '<hr />'; echo ShortUrl::create($url,'bitly','your_user_name','your_api_key'); ?> |




Commenti recenti