URL to tiny url host
Gepost door Youri vd Bogert op 22-06-2009 18:09.
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.
Bestanden van dit script
index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?
function short_url ( $url, $html = false ) {
$hosts = array ( "it1.nl/", "it5.nl/", "g2l.nl/" );
$hostId = rand(0,2);
$host = "http://" . $hosts[$hostId] . "api/api.php?key=444&method=new&website=";
$ch = curl_init( $host . $url );
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$cData = curl_exec($ch);
curl_Close($ch);
if ( !json_decode($cData) == null ) {
$array = json_decode($cData);
$newUrl = $array->code;
$link = "http://" . $hosts[$hostId] . $newUrl;
$newLink = $link;
} else $newLink = $url;
if ( $html ) return '<a href="'. $newLink .'" target="_blank">'. $newLink .'</a>'; else return $newLink;
}
function url_stripper ( $input ) {
$input = preg_replace("_\[url\](.*?)\[/url\]_ise","short_url('\\1', false)", $input);
return $input;
}
mysql_query ( 'INSERT INTO.... ( bericht ) values ( '. url_stripper( $_POST["bericht"] ) .' ) WHERE id = '); |
Commentaar
21-06-2009 15:19
"Installatie uitleg staat in het script"
Waar dan?
Verder is het script nauwelijks gedocumenteerd, en waarom staat de volgende regel in het script?
//mysql_query ( 'INSERT INTO.... ( bericht ) values ( '. ubbScript ( $_POST["bericht"] ) .' )..
Wat doet '!json_decode($cData) == null' eigenlijk? json_decode geeft namelijk helemaal geen null terug (zie php manual)
Verder is het wel zo netjes even te linken naar http://shorturl.pbworks.com/Usage-examples. Verbeter ook je UBB-parser, Google werkt al niet ;-)
1 2 3 | Post hier de source-code van je script. Alle informatie tussen <? ... ?> en <?php ... ?> zal automatisch worden getoond in color-coding.
Let op! Het is niet de bedoeling om hier een link naar je website te plaatsen. Post hier gewoon de code, veel simpeler, sneller en meer kans dat het blijft staan. |
21-06-2009 15:27
Volgens mij is die website van hemzelf ;) Dus zie het nut niet zo van in het nogmaals promoten voor zijn eigen dus dat is wel goed zo.
Verder zou het wel handiger zijn als je even wat meer uitleg geeft wat het 'dingetje' doet. Want dit is wat magertjes.
En eventueel vermelden dat je curl nodig hebt, dit is niet standaard geinstalleerd.
1 2 3 | <?php
require 'curl.php';
?> |
22-06-2009 11:59
Geef eens een voorbeeld van zo'n url en zijn verkorte versie.
Je website kan ook wel wat extra uitleg gebruiken.
22-06-2009 12:58
Je hebt bijv. de URL http://www.phpfreakz.nl/library.php?sid=27296
die word dan verkleint naar http://it1.nl/Zjy
1 2 3 | Post hier de source-code van je script. Alle informatie tussen <? ... ?> en <?php ... ?> zal automatisch worden getoond in color-coding.
Let op! Het is niet de bedoeling om hier een link naar je website te plaatsen. Post hier gewoon de code, veel simpeler, sneller en meer kans dat het blijft staan. |
29-06-2009 15:31
Ik vraag me eigenlijk af wat zo'n tiny url voor een voordeel heeft.
1 2 3 | Post hier de source-code van je script. Alle informatie tussen <? ... ?> en <?php ... ?> zal automatisch worden getoond in color-coding.
Let op! Het is niet de bedoeling om hier een link naar je website te plaatsen. Post hier gewoon de code, veel simpeler, sneller en meer kans dat het blijft staan. |
10-07-2009 13:32
Vermeld hier alle zaken betreffende valkuilen, handige informatie, (installatie-)instructies e.d.
1 2 | Volgens mij werkt ie niet.
<? http:?> linkt naar <? http:?> in plaats van <? http:?> |
21-07-2009 19:31
Wat moet ik precies in de MySQL database plaatsen?
Als ik dit script op mijn website plaats, krijg ik dit:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'127.0.0.1' (using password: NO) in C:\domains\kidsforum.nl\wwwroot\nieuw\link\index.php on line 40
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\domains\kidsforum.nl\wwwroot\nieuw\link\index.php on line 40