Crear URLs cortas usando Bit.ly en PHP

Esta es una función creada con PHP para acortar nuestras URLs de forma automática, ten en cuenta que para usarla debes crear una cuenta en Bit.ly, así que feliz acortamiento.

Consigue tu API Key en Bit.ly.

function make_bitly_url($url,$login,$appkey,$format = 'xml',$version = '2.0.1')
{
  $bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url).'&login='.$login.'&apiKey='.$appkey.'&format='.$format;
  
  $response = file_get_contents($bitly);
  
  if(strtolower($format) == 'json')
  {
    $json = @json_decode($response,true);
    return $json['results'][$url]['shortUrl'];
  }
  else //xml
  {
    $xml = simplexml_load_string($response);
    return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash;
  }
}

¿Cómo usarlo?

$short = make_bitly_url('tu-dominio.com','tu-usuario','tu-api-key','json');
echo 'La URL corta es:  '.$short;

El resultado es: http://bit.ly/MLuPOs, la URL corta de este post.

7 Responses

  1. Juan Pablo Carrion
    Juan Pablo Carrion Enero 16, 2013 at 6:33 AM |

    Muchas gracias amigo funciona perfectamente, yo lo uso para generar codigos qr del enlace del anuncio cuando un cliente lo imprime, nota no funciona en el localhost tiene que ser un dominio que Bit.ly pueda verificar, excelente se agradese. saludos

  2. jos2
    jos2 Octubre 15, 2013 at 3:04 PM |

    hola amigo, como puedo generar una url diferente al de http://bit.ly/……

  3. Pau Sancgez
    Pau Sancgez Mayo 3, 2014 at 11:44 AM |

    Hola, el último return me da error de línia en el dreamweaver. Es decir, ésta línia me da error: return ‘http://bit.ly/’.$xml->results->nodeKeyVal->hash; ¡Como puedo arreglarla?

    1. Anthuan Vasquez
      Anthuan Vasquez Mayo 3, 2014 at 12:31 PM |

      1.- No use DreamWeaver como editor para programar es Horrible!
      2.- Excúsame por el Encode del código es este: return ‘http://bit.ly/’.$xml->results->nodeKeyVal->hash;

      Ya lo arreglé arriba.

  4. Pau Sanchez
    Pau Sanchez Mayo 5, 2014 at 3:27 AM |

    Gracias, pero una cosa: yo tengo un dominio corto personalizado que es mkj.es y me sirve para acortar urls en bit.ly de makethejobs.com. Entonces en el ultimo return yo cambio lo de bit.ly por mkj.es. Entonces lo que me pasa es que el dominio se genera bien, es decir, la función va bien, pero el dominio que se ha creado no lleva a ningun sitio. Como lo podria solucionar? Muchas gracias por tu atención.

Comments are closed, but trackbacks and pingbacks are open.