Ich muss aus einem per url übergebenen pfad (var = $folder) eine navigation generieren mit der man in übergeordnete verzeichnisse wechseln kann.
also wenn der übergebene pfad /abc/def/ghi/ lautet, soll folgendes generiert werden:
Code:
<a href="index.php?folder=/abc/">abc/</a><a href="index.php?folder=/abc/def/">def/</a>
[code]
wobei dann eben als ausgabe ein in einzellinks zerlegter pfad entsteht mit dem der benutzer in die über dem aktuellen ordner liegeenden verzeichnisse wechseln kann.
benötigt werden also folgende variablen:
-der in der url zu übergebende pfad (von anfang bis position X)
-der angezeigte teil des navigationspfades (beginnt nach dem letzten / vor position X und endet an position X)
-die position X, ermittelt durch durchzählen der / (so zumindest mein grundgedanke)
mein ansatz schaut bisher so aus:
[code]
$position=2;
while ($position < strlen($folder))
{
$position = strpos($folder,"/",$position);
$link = substr($folder,0,$position);
$linkecho = substr($link,strrpos($link,"/"),$position);
echo '<a href="index.php?site='.$inc.'&folder='.$link.'">'.$linkecho.'</a>';
}
$position wird der wert zugeordnet, an welcher stelle im string $folder zum ersten mal ein / auftaucht, beginnend ab $position (daher anfangs als 2 definiert um das / am anfang zu ignorieren). $position erhöht sich somit bei jedem schleifendurchlauf wodurch von einem / in $folder zum nächsten gesprungen wird
$link besteht aus einem teil von $folder, beginnend bei 0 bis zu $position
$linkecho besteht aus dem letzten teil von $link, beginnend vom ersten von rechts auftauchenden / bis zur $position (also zur letzten stelle von $link)
wenns so auch funktionieren würde...
ergebniss ist aber scheinbar eine endlosschleife, KA was der bockmist soll.
$position ist gleich groß wie strlen($folder), sobald $position am letzten / des strings $folder angekommen ist, dann müsste er aus der schleife springen.
jemand ne idee wo mein denkfehler evtl liegt?
oder hat jemand für sowas zufällig ne andere lösung parat?