Create a TinyURL using PHP

Updated onbyAlan Morel
Create a TinyURL using PHP

Table of Contents

  1. Conclusion
  2. Resources

You can easily create a URL shortener thanks to the service called TinyURL. In this post, we'll create a PHP script that will create a TinyURL from a long URL using their API.

TinyURL is a free service that allows you to create a short URL from a long URL. For example, it can turn:

BASH
https://sabe.io/blog/php-create-tiny-url

into:

BASH
https://tinyurl.com/yyh5vqnv

To interface with their API, we will use the cURL library. We will make a call to their API and get back the short URL.

The function get_tiny_url, looks like this:

PHP
function get_tiny_url($url) { $api_url = 'https://tinyurl.com/api-create.php?url=' . $url; $curl = curl_init(); $timeout = 10; curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, $api_url); $new_url = curl_exec($curl); curl_close($curl); return $new_url; }

Give the get_tiny_url function the URL you want to shorten and it will return the shortened URL using TinyURL's API.

Here's an example of a whole script:

PHP
<?php function get_tiny_url($url) { $api_url = 'https://tinyurl.com/api-create.php?url=' . $url; $curl = curl_init(); $timeout = 10; curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_URL, $api_url); $new_url = curl_exec($curl); curl_close($curl); return $new_url; } $tiny_url = get_tiny_url('https://sabe.io/blog/php-create-tiny-url'); echo $tiny_url; ?>

Here's the output:

BASH
https://tinyurl.com/yyh5vqnv

Our PHP app calling the TinyURL API

Conclusion

We've created a PHP script that will create a TinyURL from a long URL using TinyURL's API. Hopefully, you can see how easy it is to create a URL shortener using PHP.

Thanks for reading!

Resources

To learn more about web development, founding a start-up, and bootstrapping a SaaS, follow me on X!
Copyright © 2017 - 2024 Sabe.io. All rights reserved. Made with ❤ in NY.