login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Handige scripts > URL to tiny url

URL to tiny url

Auteur: Youri - 21 juni 2009 - 12:11 - Gekeurd door: Koen - Hits: 11427 - Aantal punten: (0 stemmen)




!!
LET OP : De functie cURL moet aanstaan op de server (http://www.php.net/cURL).
!!

Verdere uitleg staat in de code

Code:
Wat doet deze functie ?
De functie zorgt ervoor dat een URL word getransformeerd naar een kleine URL, bijvoorbeeld erg handig in forums waar je backlinks/crosslinks wilt verbergen.

Werking
Elke keer waarneer de functie word aangeroepen maakt hij een unieke code aan op een van de hosts, het script kan dus alleen maar toegepast worden in de $_POST.

De hosts
Omdat ik voor de hosts een simpel - maar krachtig api systeem heb ontwikkeld is het script gemakkelijk te implanteren in een eigen site.

De functie
  1. <?
  2. function short_url ( $url, $html = false ) {
  3.  
  4. ## shortUrl hosts
  5. $hosts = array ( "it1.nl/", "it5.nl/", "g2l.nl/" );
  6.  
  7. ## randomHost
  8. $hostId = rand(0,2);
  9. $host = "http://" . $hosts[$hostId] . "api/api.php?key=444&method=new&website="; // Leave key 444 for UBB services.
  10.  
  11. ## Path
  12. $ch = curl_init( $host . $url );
  13.  
  14. curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  15. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  17.  
  18. $cData = curl_exec($ch);
  19.  
  20. curl_Close($ch);
  21.  
  22. if ( !json_decode($cData) == null ) {
  23. $array = json_decode($cData);
  24. $newUrl = $array->code;
  25. $link = "http://" . $hosts[$hostId] . $newUrl;
  26. $newLink = $link;
  27. } else $newLink = $url;
  28.  
  29. if ( $html ) return '<a href="'. $newLink .'" target="_blank">'. $newLink .'</a>'; else return $newLink;
  30. }
  31.  
  32. ?>


Voorbeeld
Een simpele voorbeeld in een post formatie..
  1. <?php
  2. function url_stripper ( $input ) {
  3.  
  4. $input = preg_replace("_\[url\](.*?)\[/url\]_ise","short_url('\\1', false)", $input);
  5. return $input;
  6.  
  7. }
  8.  
  9. mysql_query ( 'INSERT INTO.... ( bericht ) values ( '. url_stripper( $_POST["bericht"] ) .' ) WHERE id = ');
  10.  
  11. ?>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (2)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.044s