wenn ich dich recht verstehe geht es dir nur darum zu überprüfen ob http:// vorhanden ist oder nicht, ganz einfach:
$http = "http://www.hallo/welt/ich-komme.de/bild1.jpg";
wenn http nicht vorhanden schreibe dazu:
if(empty(strchr($http,"http"))) { $http= "http://".$http; }
definition strchr:
Mit strchr() kann man innerhalb einer Zeichenkette (haystack) ein Zeichen oder
einen String (needle) finden. Als Ergebnis gibt die Funktion die Zeichenkette ab
dem ersten Vorkommen des gesuchten Zeichens bzw. des gesuchten Strings
zurück.
wenn du den ganzen Link zerlegen willst, funktioniert das ähnlich
überprüfe zunächst ob http:// vorhanden ist, wenn ja entferne es
if(!empty(strchr($http,"http"))) { $http = substr($http,7); }
danach zerlegst du den Rest in ein array:
$http_array = explode("/",$http);
im letzten array hast du den Dateinamen in denen davor die domain und die Verzeichnisse. Die Länge richtet sich logischerweise nach der zahl der Untervezeichnisse.
Die Länge des array stellst mittels count($http_array) fest. Denke daran dass ein array bei 0 beginnt. Das heißt wenn das array 7 lang ist, ist das letzte $http_array[6]