Impressum Startseite Grund Installation Grundlagen Hilfreiches Projekte Querschläger Meckerecke

17.04.2017: Eigener kleiner "kurz.Url" Dienst.

Wer kennt sie nicht diese ganze KurzUrl Anbieter die eine Url wirklich extrem verkürzen und das ganze in ein paar Zeichen Kryptisch anzeigen. Klar sind solche Dienste manchmal ganz Praktisch, aber irgendwie weiss man nie vorher was sich dort hinter verbirgt...

Wäre es nicht toll wenn man einen eigenen kleinen Kurz-URL Dienst hätte, wo man die KurzURLs so bennenen könnte wie man möchte, und dadurch viel Flexibler ist ?

Also warum bauen wir uns mit etwas PHP das ganze nicht selber ?

Das sehe dann etwa so aus:

www.eureDomain.de?umleitung

Das Script sucht dann in der Datenbank (shorturl.txt) im gleichen Verzeichnis nach der Kurzurl "umleitung" und wenn es gefunden wird wird zu der dort hinterlegten langen Url direkt weiter geleitet.

Sollte man eine Kurzurl anlegen wollen, geschiet dies mittels:

www.eureDomain.de?make

Dann bekommt man ein Eingabe Formular, wo man die KurzUrl und die lange Url eingeben kann - nach dem Abschicken des Formulars wird diese Verknüpfung in die Datei "shorturl.txt" geschrieben und steht dann für zukünftige Aufrufe bereit.

Löschen kann man die Einträge durch entfernen der Zeile aus der Datei "shorturl.txt".

Es ist klar, das das Verzeichnis wo dieses Script drin liegt Lese und Schreibrechte braucht. (z.b. sudo chmod 0777 /Verzeichnis ).

Nennen wir die Datei mal "ShortUrl.php" und legen die datei ins Hauptverzeichnis eures Webspaces:

<?php
//Filename der KurzUrlliste
$datei="shorturl.txt";

//SYNTAX : diese PHP Datei.php?make

$seite= basename(__FILE__);
if(isset($_POST['send'])) { 
$kurl=$_POST[kurl];
$url=$_POST[url];
if (file_exists($datei)) { $inhalt=file_get_contents($datei); }
$suchlengh=strlen($kurl); if ($suchlengh>=3) {
$suche=strpos($inhalt,"|#|".$kurl."|#|",0); 
if ($suche !== false) { echo "<b>".$kurl."</b> gibt es schon - kann nicht zugefügt werden.<br>Bitte anderes Kuerzel waehlen";exit; }

// Schreibe die Liste
//Neuen Inhalt oben, dann den alten Inhalt anhängen
$neuerinhalt="|#|".$kurl."|#|".$url."|#|\n".$inhalt;

//Schreibe die Datei - Voraussetzung sind Schreibrechte in dem Ordner!
$handle =fopen($datei,"w+");
fwrite($handle,$neuerinhalt);
fclose($handle);

//Konnte die Datei nicht erzeugt werden ?
if (!file_exists($datei)) { echo "Fehler - keine Schreibrechte";} 
else {
echo "<br>Kurz URL:<b>".$kurl."</b> wurde hinzugefuegt.<br>Es wird auf <b>".$url."</b> weiter geleitet.<br> aufruf: <b>http://www.domain.de?".$kurl."</b><br><br>";
}
exit;
}}

// kurz Url
$kurzurl=$_SERVER['QUERY_STRING'];

//Hinzufügen eines Links
if ($kurzurl!=="") { 
if ($kurzurl=="make") { echo "Link hinzufuegen"; 
echo '<p>URL Shortener </p>
<form action="'.$seite.'" method="post" style="width:800px">
<input name="kurl" type="text" id="url" value="Kurzurl" size="20" maxlength="100">
<input type="submit" name="send" value="Shorten!" style="width:150px" />
<input name="url" type="text" id="url" value="Weiterleitungs Url" size="80" maxlength="1024">
</form>';
exit;}

// Url extrahieren
if (file_exists($datei)) { $inhalt=file_get_contents($datei); }
if ($inhalt!=="") {
$suchlengh=strlen($kurzurl);
$suche=strpos($inhalt,"|#|".$kurzurl."|#|",0);
if ($suche !== false) { 
$suchwort=substr($inhalt,($suche+4),$suchlengh);
$gefundurl=substr($inhalt,($suche+$suchlengh+6));
$endurl=strpos($gefundurl,"|#|");
$url=substr($gefundurl,0,$endurl);
//Umleiten
header("Location: ".$url); exit; 
} }}
?>

Wenn Ihr jetzt in der index.php eurer Hauptseite diese Zeile einfügt:

<?php if (file_exists('ShortUrl.php')) { include('ShortUrl.php');} ?>

Dann wird bei jeden Aufruf eurer index.php Datei erstmal überprüft ob eine ShortUrl vorliegt und ob umgeleitet werden soll.

Wenn man vorher mittels

www.domain.de?make

eine Kurzurl angelegt hat: "Kurzname:"kurz

Umleitung: www.amazon.de

dann sollte nach Aufruf mittels www.domain.de?kurz direkt Amazon angesurft werden.

Impressum Startseite Grund Installation Grundlagen Hilfreiches Projekte Querschläger Meckerecke