Pfad angaben vereinfachen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beispiel
beitrag
count
eben
explorer
fragen
funktion
juni
level
manual
ordner
recht
versuch
versuchen
verzeichnis
-
Ich habe ein Problem (was f?r ein wunder, warum w?rde ich den sonst ein topic aufmachen^^)
Also: Ich bin gerade dabei eine "art" explorer zu schreiben...
bei solchen filesystemen oder explorern kann man sich in ordnern auf und ab bewegen (logisch^^)
wenn ich also im pfad "/2005/juni/ordnerxy/" bin und wieder eine ebene hoch geh hab ich "/2005/juni/ordnerxy/../"
meine frage ist es ob es eine funktion oder ein script gibt die den Pfad vereinfacht auf "/2005/juni/"
ich hab da n?mlich noch nichts gefunden und meine versuche haben auch nicht geklappt...
Wenn mir jemand helfen k?nnte w?r ich sehr dankbar... *such* -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ich habe momentan keinen Code Parat aber versuchs mal mit "explode()"
-
hab ich, l?auft aber nicht einwandfrei:
echo $folder; $folder2 = explode("/", $folder); $array_count=0; $x=0; while($x!=1) { echo $folder2[$array_count]."<br>\n"; if($folder2[$array_count]) { $array_count++; } else { $x=1; } } $array_count2=$array_count; $array_count=0; while($array_count<=$array_count2) { if($folder2[$array_count]=="..") { $folder2[$array_count]=""; $folder2[$array_count-1]=""; $folder2[$array_count-2]=""; echo $folder2[$array_count]; echo $folder2[$array_count-1]; echo $folder2[$array_count-2]; } $array_count++; } $folder=""; $array_count=0; while($array_count<=$array_count2) { if($folder2[$array_count]="") { $folder.="/"; } $folder.=$folder2[$array_count]; $array_count++; }
Das habe ich m?hselig programmiert^^
aber leider ist irgendwo ein bug drin...
ich dachte, dass wenn ich "1|2|3" explodet:
array[0]=1
array[1]=2
array[2]=3
gibt, aber irgedwie ist dass hier nicht so :(
vielleicht kann ja irgendwer den code nen bischen umschreiben.. -
Hi,
das ist viel zu kompliziert.
So geht schnell und sicher:
$level = 1; $path = "/2005/juni/ordnerxy/"; $path = explode("/",$path); if ($path[0] == "") {unset($path[0]);} if (end($path) == "") {unset($path[count($path) - 1]);} $path = array_slice($path,0,count($path) - $level); $path = implode("/",$path); if ($path[0] != "/") {$path = "/$path";} if ($path[strlen($path) - 1] != "/") {$path .= "/";} echo $path;
Dieses beispiel w?rde "/2005/juni/" ausgeben.
In $level musst du angeben, wie viele "Ordner" du von rechts aus entfernen m?chtest, in $path den Pfad.
Alles klar, oder brauchst du mehr erkl?rung?
mfg,
hr
Beitrag ge?ndert am 14.01.2006 22:45 von heavyraptor -
Hey danke f?r den Code...
Sorry aber ich war die letzen Tage nicht bei Lima... wir daf?r jetzt gleich voll ausgibig ausprobiert
Danke nochmal!! -
Man kann aber auch einfach dirname() verwenden, das gibt immer den Pfad zum n?chsth?heren Verzeichnis zur?ck:
http://de.php.net/manual/de/function.dirname.php
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage