Silke Schümann wrote this 20:10:
Will man überprüfen, dass die Pfadangabe zum Ordner auch wirklich mit einem Slash (= Schrägstrich) endet, dann kann man einfach kurz Mal den String umdrehen und nachsehen welcher Wert auf dem ersten Zeichen liegt. Umdrehen heißt ja, das letzte Zeichen ist das erste Zeichen.
$string = "http://www.pusemuckel.de/meinOrdner";
echo (ord(strrev($string))==47) ? 'Das letzte Zeichen ist ein Slash.':'Das letzte Zeichen ist kein Slash.';
Ausgabe: Das letzte Zeichen ist kein Slash.
$string = "http://www.pusemuckel.de/meinOrdner/";
echo (ord(strrev($string))==47) ? 'Das letzte Zeichen ist ein Slash.':'Das letzte Zeichen ist kein Slash.';
Ausgabe: Das letzte Zeichen ist ein Slash.
Praktischer Einsatz dieser Pfadprüfung
Gebraucht wird so etwas, z.B. wenn in einem CMS PHP-Programmierer mit den unterschiedlichsten fachlichen Sachkenntnissen, vom blutigen Anfänger bis zum großen Experten, Erweiterungen anmelden können sollen, so dass diese Programmerweiterungen ausgeführt werden. Schnell haben Anfänger wie Experten hier mal per Copy&Paste ein Slash nicht mitgeführt. Hieran sollte sich das Programm nicht unbedingt stören. Ich finde immer typische Fehlereingaben die man Programmtechnisch abfangen kann, sollte man auch abfangen. Das macht das Leben gleich viel einfacher.
$ordnerpfad = (ord(strrev($_GET['ordnerpfad']))==47) ? $_GET['ordnerpfad'] : $_GET['ordnerpfad'].'/';
Und schon hat man nicht nur geprüft, ob ein Slash am Ende der Pfadeingabe steht, sondern auch gleich einen Slash geschrieben, wenn er denn fehlt.