کوتاه کردن url با goo.gl
حالا اگه تعداد کارکتر های یه نشانی بیشتر از این حرفا شد چی کار باید کرد؟ گوگل برای شما یه ابزار گذاشته که به راحتی می تونید ازش استفاده کنید و یه نشانی چند کاراکتری بگیرید.
شروع کار:
برای این کار ابتدا باید در سایت گوگل API مورد نظرتون رو فعال کنید. برای این منظور می تونید به این آدرس برید و از سرویس هایی که می بینید URL Shortener API رو فعال کنید.
گوگل به شما آدرسی به این شکل خواهد داد:
https://www.googleapis.com/urlshortener/v1/url?shortUrl=http://goo.gl/------&key=1234567890qwertyuiopahjklzxcvbnmو مقدار key برای شما برابره با :
1234567890qwertyuiopahjklzxcvbnmحالا این کلاس رو داشته باشید:
class GoogleUrlApi {برای استفاده از این کلاس به این صورت عمل کنید:// Constructor
function GoogleURLAPI($key,$apiURL = 'https://www.googleapis.com/urlshortener/v1/url') {
// Keep the API Url
$this->apiURL = $apiURL.'?key='.$key;
}// Shorten a URL
function shorten($url) {
// Send information along
$response = $this->send($url);
// Return the result
return isset($response['id']) ? $response['id'] : false;
}// Expand a URL
function expand($url) {
// Send information along
$response = $this->send($url,false);
// Return the result
return isset($response['longUrl']) ? $response['longUrl'] : false;
}// Send information to Google
function send($url,$shorten = true) {
// Create cURL
$ch = curl_init();
// If we're shortening a URL...
if($shorten) {
curl_setopt($ch,CURLOPT_URL,$this->apiURL);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode(array("longUrl"=>$url)));
curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type: application/json"));
}
else {
curl_setopt($ch,CURLOPT_URL,$this->apiURL.'&shortUrl='.$url);
}
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
// Execute the post
$result = curl_exec($ch);
// Close the connection
curl_close($ch);
// Return the result
return json_decode($result,true);
}
}
$key = 'xhjkhzkhfuh38934hfsdajkjaf';خروجی این بخش به این صورت خواهد بود:
$googer = new GoogleURLAPI($key);
$shortDWName = $googer->shorten("http://phpdevelopers.ir");
echo $shortDWName;
http://goo.gl/aIVcsعکس این عمل رو هم می تونید انجام بدید. یعنی نشانی کوتاه رو بگیرید و آدرس اصلی رو بدید. به این صورت:
$longDWName = $googer->expand(http://goo.gl/aIVcs);ساده بود نه؟ :D
echo $longDWName; // returns http://phpdevelopers.ir/
به خاطر همین چیزاست که گوگل رو دوست دارم.
نکته ای که باید دقت کنید اینه که برای تست لوکال curl حتمن باید فعال باشه. برای نصب کردن در لینوکس می تونید از این دستور استفاده کنید:
sudo apt-get install php5-curlتو ویندوز هم فکر می کنم باید در فایل php.ini بخش extension=php_curl.dll رو از کامنت خارج کنید (یعنی ; رو از اول خط حذف کنید)
امیدوارم به دردتون خورده باشه
موفق باشید