Kurzer URL per PHP erstellen

Hier wird alles rund um Php gepostet.
Antworten
Carmen
Beiträge: 1
Registriert: 28.08.2009 06:27
Wohnort: Krölpa

Kurzer URL per PHP erstellen

Beitrag von Carmen »

Hallo,

hat jemand von euch ein Code Beispiel womit man eine kurze URL automatisch bei tinyurl.com erzeugen kann? Es wäre echt nett, wenn mir jemand dabei helfen können.

LG Carmen
admin
Site Admin
Beiträge: 336
Registriert: 09.03.2005 10:41
Wohnort: Arnstadt
Kontaktdaten:

Beitrag von admin »

Hallo Carmen,

dies könntest du mit folgendem Beispiel realisieren. Bitte beachte, dass bei deinem PHP Webspace die Funktion allow_url_fopen aktiv sein muss. Da sonst PHP nicht die Berechtigung hat, auf eine externe Datei zuzugreifen. In meinem Beispiel verwende ich eine PHP function, eine Erklärung wie man mit einer PHP function arbeitet kannst du unter folgender Adresse nachlesen.

Hier die Adresse zu der Erklärung wie man mit einer PHP function arbeitet:
http://www.php-space.info/php/space/php-function.php

Das Code Beispiel wie du einer Abfrage bei tinyurl.com umsetzt.

Code: Alles auswählen

<?php
function kurze_url($url){
	if (is_url($url)){
		$kurze_url=file_get_contents('http://tinyurl.com/api-create.php?url='.urldecode($url));
		return $kurze_url;
	} else {
		return false;
	}
}
function is_url($url){
    $url = substr($url,-1) == "/" ? substr($url,0,-1) : $url;
    if ( !$url || $url=="" ) return false;
    if ( !( $parts = @parse_url( $url ) ) ) return false;
    else {
        if ( $parts['scheme'] != "http" && $parts['scheme'] != "https" && $parts['scheme'] != "ftp" && $parts['scheme'] != "gopher" ) return false;
        else if ( !eregi( "^[0-9a-z]([-.]?[0-9a-z])*.[a-z]{2,4}$", $parts['host'], $regs ) ) return false;
        else if ( !eregi( "^([0-9a-z-]|[_])*$", $parts['user'], $regs ) ) return false;
        else if ( !eregi( "^([0-9a-z-]|[_])*$", $parts['pass'], $regs ) ) return false;
        else if ( !eregi( "^[0-9a-z/_.@~-]*$", $parts['path'], $regs ) ) return false;
        else if ( !eregi( "^[0-9a-z?&=#,]*$", $parts['query'], $regs ) ) return false;
    }
    return true;
}
$meine_url='http://www.cgiforum.de';
$tinyurl=kurze_url($meine_url);
if($tinyurl!=false)
echo $tinyurl;
?>
Antworten