[php] deel url verwijderen /filemanager

Pagina: 1
Acties:

  • itsme
  • Registratie: Februari 2000
  • Niet online
Ik heb een filemanager voor mn server gemaakt in PHP, doet t verder perfect, alleen zit ik met een schoonheidsfoutje.

Als je begint te browsen is de url:
code:
1
http://www.url.nl

De default folder wordt dan geopend (files)

Klik ik nu op een directory dan wordt de url:
code:
1
http://www.url.nl/index.php?gotodir=../files/dedirectory

Klik ik nu op .. (een dir terug gaan dus) dan wordt de url:
code:
1
http://www.url.nl/index.php?gotodir=../files/dedirectory/..

Dit komt doordat ik de directorynaam achter het oude gotodir plak.
(".." is ook een directory in dit geval).

De url wordt zo dus steeds langer ... nu wil ik dit dus anders gaan doen ... als de "directory" ".."" wordt aangeklikt moet gotodir de zelfde blijven MIN de laatste directory. Dus als ik op .. klik moet:
code:
1
http://www.url.nl/index.php?gotodir=../files/dedirectory

Veranderen in:
code:
1
http://www.url.nl/index.php?gotodir=../files

en niet in:
code:
1
http://www.url.nl/index.php?gotodir=../files/dedirectory/..

Wie kan me helpen?

"If God wanted us to have unlimited free energy He would have put a giant fusion reactor in the sky"


  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

HINT:explode

edit
explode("/",$URL)

  • Skef
  • Registratie: April 2001
  • Laatst online: 14-09 11:31

Skef

Ik scheer.me

Als je nou eens een frameset maakt, waarbij je een frame hebt, waarin je applicatie draait.

Dan zie je alleen maar "http://www.url.nl" in de adresbalk.

Tis nie netjes, maar wel effectief...

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op vrijdag 15 februari 2002 12:48 schreef bas_konings het volgende:

Wie kan me helpen?
Ik zal het proberen :)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
$split = split("/", $url); // $url is de waarde van je url (duh)
$aantal = count($split);

$url2 = "";

for ($i=0; $i<=$aantal-2; $i++)
{
  $url2 .= "$split[$i]/";
}

echo $url2; // $url2 is nu je url zonder de laatste map erachter
?>

getest en werkt
http://www.swinxunited.com/test/filemanager.php?url=http://www.url.nl/index.php?gotodir=../files/dedirectory


[edit] => typo

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Verwijderd

Sowieso is het niet zo netjes om in je filemanager .. te accepteren. Iemand kan heel fijn ../../../../etc/passwd openen (ik noem maar wat).

Dus bepaal in je scripje (zoals rookie zei met explode) de naam van de hogere dir en zet deze als link waarmee je een dir hoger gaat. Verstandig is ook om als iemand .. gebruikt die user heel fijn z'n filemanager-rootdir te laten zien zodat ie daar dus niet uit kan..

  • itsme
  • Registratie: Februari 2000
  • Niet online
Ah nice !! Daar moet het mee gaan lukken.

Idd is .. acepteren geen goeie oplossing, maar ik moest gister-avond de mogelijkheid maken om door directory's te bladeren, het toch accepteren was toen ff t makkelijkst, daarnaast is het script voorzien van een password, dus redelijk safe (ik ben ook nog eens de enige gebruiker). Mn bedoeling is ook om de .. te vervangen met het script waarmee jullie zo fantastisch hebben geholpen :? ...

Ik heb er zelfs een stukkie script inzitten dat .. eruit vist ... alleen is t nog ff gedisabled, dus dat komt wel goed :)

"If God wanted us to have unlimited free energy He would have put a giant fusion reactor in the sky"

Pagina: 1