Skip to main content

Bitly URL Shorten using Bitly API and PHP

Bitly is one of the most powerful and popular URL shorten and bookmark service in the universe. Bitly offers simple and powerful API to generate short URL from long one. To use this API you have to signup for an API key. Bitly offers it free for it's all users. If you want, you can get it from Bitly's home page. Here's an example to create a short URL using PHP.




The Bitly Class:
class Bitly
{
	var $apiURL = 'http://api.bit.ly/v3/';
	var $apiQuery = '';

	/**
	 * @param str $login as Bitly login
	 * @param str $apiKey as Bitly API Key
	 */
	function __construct($login, $apiKey)
	{
		$this->apiQuery = 'login=' . $login;
		$this->apiQuery .= '&apiKey=' . $apiKey;
		$this->apiQuery .= '&format=json';
	}

	/**
	 * Short Long URL
	 * @param string URL
	 * @return string || void
	 */
	function shorten($uri)
	{
		$this->apiQuery .= '&uri=' . urlencode($uri);
		$query = $this->apiURL . 'shorten?' . $this->apiQuery;
		$data = $this->curl($query);
		$json = json_decode($data);
		return isset($json->data->url) ? $json->data->url : '';
	}

	/**
	 * Expend Short URL
	 * @param str URL
	 * @return str || void
	 */
	function expend($uri)
	{
		$this->apiQuery .= '&shortUrl='.urlencode($uri);
		$query = $this->apiURL . 'expand?' . $this->apiQuery;
		$data = $this->curl($query);
		$json = json_decode($data);
		return isset($json->data->expand[0]->long_url) ? $json->data->expand[0]->long_url : '';
	}

	/**
	 * Send CURL Request
	 * @param string URL
	 * @return string
	 */
	function curl($url)
	{
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		$data = curl_exec($ch);
		curl_close($ch);
		return $data;
	}
}

Usage:
# Include main bitly class
include 'bitly.php';
# Bitly User Login
$login = 'my-bitly-login';
# Bitly API key
$api = 'my-bitly-api-key';

$bitly = new Bitly($login, $api);
# Shorten Long URL
$bitly->shorten('http://www.w3bees.com');
# Expend Short URL
$bitly->expend('http://bit.ly/15MCr0p');

Enjoy it! Thanks!

Comments

  1. Works great! Thanks!

    ReplyDelete
  2. Replies
    1. sorry,...
      just using
      <?php echo $bitly->shorten('http://ahmad.najiullah.com'); ?>
      thanks b4

      ^_^

      Delete
  3. Did you know you can shorten your long links with AdFly and make dollars for every visit to your shortened urls.

    ReplyDelete
  4. But you have a domain name and you've decided to repurpose that site for some of your offers or products. Use a URL shortener to help avoid turning people off just due to the domain name. This can help you keep moving forward until you are ready or able to buy another domain name that suits your marketing efforts better. url shortener

    ReplyDelete
  5. General it seems, by all accounts, to be a legitimate procedure, however I can't shake the sentiment of strolling through a third world market endeavoring to fend off my wallet from some person's pet monkey. The yearly expense is ~$75/yr. url shortener

    ReplyDelete
  6. Maybe their most serious issue is that is doesn't resemble a URL by any stretch of the imagination. link shortener

    ReplyDelete
  7. A url shortener is a Website that will create a short Uniform Resource Locator (URL) or Web page address from a long one so that the short version, which is easier to remember and enter, can be used instead. 

    ReplyDelete

Post a Comment

Popular posts from this blog

Multiple File Upload with PHP

Sometimes we need to allow our users to upload multiple file upload. On my previous post I was shown the basic of simple file upload with PHP. Today I am going to show you how to allow users to upload multiple files. It is almost similar like simple file upload but we need to do some modification with html markup and php code. multiple attribute is needed to add on the html markup. Major web browsers like Firefox, Chrome, Safari and IE 9+ support this attribute. Now I am going to show you how to upload multiple file with PHP and basic HTML form.

Live Comment System with jQuery Ajax PHP and MySQL

Recently I have been made a post that focused on how to submit form without page refreshing. That post shows the basic functionality of using jQuery Ajax. On the same follow this post will describe how we can create a comment system to post an instant comment without page refreshing. Let's start...

Resize Image While Uploading with PHP

On my previous post I was shown an example how to upload file with php and html. It was based on php simple image upload functionality. Today I am going to show you little bit advance of image uploading. Suppose if you run a website and want to allow users to upload image files than you need to think little bit about server's space and bandwidth. For this purpose you need to do some optimization with image files. Image resize while uploading is one of them. All major website do it in the same way. If a user uploads a 5mb image file they resize it in different sizes and store on there server. It helps them to seed up there website and reduce there budget. Now take a look, how we can do it ourself.