Home > php, programmazione > PHP: LA CLASSE PHP PER CREARE URL CORTI TRAMITE LE API DI TINYURL, IS.GD, HEX.IO, TR.IM & BIT.LY

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');
?>

  1. Nessun commento ancora...
  1. Nessun trackback ancora...
Chiudi
Invia e-mail