Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak ominąć basename z poziomu przeglądarki ?
pieczen1
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


Mam takie coś:

  1. <?
  2. $filename = basename($HTTP_GET_VARS["f"]);
  3. if(file_exists($filename)) {
  4.     switch (substr($filename, strlen($filename)-3, 3)) {
  5.         case 'pdf':
  6.             header("Content-Type: application/pdf");
  7.             header("Content-type: application/pdf");
  8.             break;
  9.         case 'doc':
  10.             header("Content-type: application/msword");
  11.             header("Content-type: application/msword");
  12.             break;
  13.         case 'xls':
  14.             header("Content-type: application/msexcel");
  15.             header("Content-type: application/msexcel");
  16.             break;
  17.     }
  18.     header("Content-Disposition: attachment; filename=$filename");
  19.     readfile($filename);
  20. }
  21. ?>



I do tego takie pytanie: Czy jest jakiś sposób żeby z przeglądarki nadać zmiennej $filename wartość np /katalog1/katalog2/plik.txt czyli tak po prostu ominąć BASENAME w pierwszej linii ? Co wpisać w $f ??


Dla zobrazowania tego o co mi chodzi dodam link:

http://members.lycos.co.uk/pieczen1/download.php

jeśli na końcu dopisze ?f=download.php lub jakikolwiek inny plik przeglądarka ściągnie mi niezmieniony plik download.php z katalogu w którym sie znajduje. A co jesli chce sciągnąć tym skryptem plik z innego katalogu np: /katalog/index.php ? Bo jak wpisze ?f=katalog/index.php to BASENAME obcina nazwe katalogu. Czy można w ogóle to jakoś zrobić ?? Aha i nie mam mozliwosci edycji pliku download.php

?f= "co??" lub/i ?filename= "co??"

Ten post edytował pieczen1 21.12.2005, 00:15:47
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 04:10