Permalänk
Testpilot

PHP-hjälp

Jag håller på med en liten filhanterare till min hemsida och behöver lite hjälp med en sak.
Mappen som man befinner sig i lagras i variabeln $dir t.ex. $dir="filer/spel/filmer/"
Det jag skulle vilja åstakomma är att genom en länk komma en nivå upp, skulle du bli $dir="filer/spel/"
hur skulle det kunna åstakommas? man måste söka i $dir och ta bort bara det som finns efter den näst sista / men jag hittar ingen funktion för det.

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

Permalänk
Hedersmedlem

Prova det här:

$dir = preg_replace('#(.+)/.+/#', '$1/', $dir);

Permalänk
Testpilot

Det funkar perfekt, förutom när man ska upp från sista mappen, i det här fallet mappen filer, det går nämligen lägga filer utanför den mappen, det är själva roten. Nån som har ett tips på hur det kan lösas? man borde ju kunna söka efter / och när det bara finns en sådan så kan man med en if-sats sätta $dir=""
Problemet är att jag inte har en aning om vad #(.+)/.+/# betyder, vad kallas det och var kan man lära sig om det?

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

Permalänk
Medlem

Kallas regexp, Regular Expression