Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie pliku
Peace
post
Post #1





Grupa: Zablokowani
Postów: 17
Pomógł: 0
Dołączył: 15.02.2007

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


Witam. Chodzi mi o pobieranie pliku np.

<a href="pobierz.php?plik=1">Pobierz cos tam</a> i żeby np pobierało plik z katalogu pliki/plik.zip tak samo
<a href="pobierz.php?plik=2">Pobierz 2 cos tam</a> pliki/plik2.rar

Oczywiscie w php

Dziękuję
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
maxbog
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 15.02.2007

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


Zapewne chodzi ci o przekierowanie wywołania.
Sprawdzasz wartość zmiennej pobranej przez GET i na jej podstawie ustawiasz sobie header Location, np.:
  1. <?php
  2. header('Location: hxxp://www.example.com/');
  3. ?>

wpisujesz tam ścieżke do pliku, wychodzisz ze skryptu i powinno działać smile.gif

PS1.
pierwszy post smile.gif

PS2.
Da sie jakoś wyłączyć to zastępowanie wszelkich adresów na linki?
Go to the top of the page
+Quote Post
tomus90
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.02.2007
Skąd: Biała Podlaska

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


  1. <?
  2. $filesPath = 'pliki/';
  3.  
  4. function checkFileName($name)
  5. {
  6. $pliki = array(
  7. 1 => "plik.zip",
  8. 2 => "plik.rar"
  9. );
  10. return array_search($name, $pliki);
  11. }
  12.  
  13. function send($fileName, $filePath)
  14. {
  15. if(!file_exists($filePath.$fileName))
  16. {
  17. echo('Nie ma takiego pliku na serwerze!');
  18. echo($filePath.fileName);
  19. return;
  20. }
  21. $fd=fopen($filePath.$fileName, "rb");
  22. $size=filesize($filePath.$fileName);
  23. $contents=fread($fd, filesize($filePath.$fileName));
  24. fclose($fd);
  25. header("Content-Type: application/octet-stream");
  26. header("Content-Lenght: $size:");
  27. header("Content-Disposition: attachment: filename=$fileName");
  28. echo $contents;
  29. }
  30. if(isset($_GET['name']))
  31. {
  32. if(!checkFileName($_GET['name'])){
  33. echo('Nie ma takiego pliku na serwerze!');
  34. }
  35. else
  36. {
  37. send($_GET['name'], $filesPath);
  38. }
  39. }
  40. else
  41. {
  42. echo('Nie ma takiego pliku na serwerze!');
  43. }
  44. ?>


a linki
  1. <a href="pobierz.php?name=plik1.zip">Pobierz cos tam</a>


PS Moje bezpieczniejsze czytajcie posta "Bezpieczeństwo skryptów php" smile.gif

Ten post edytował tomus90 15.02.2007, 22:43:15
Go to the top of the page
+Quote Post
Peace
post
Post #4





Grupa: Zablokowani
Postów: 17
Pomógł: 0
Dołączył: 15.02.2007

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


Raczej nie pobiera tylko otwiera plik.

Ten post edytował Peace 16.02.2007, 10:45:04
Go to the top of the page
+Quote Post
tomus90
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.02.2007
Skąd: Biała Podlaska

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


Czemu tak twierdzisz??
Go to the top of the page
+Quote Post
Peace
post
Post #6





Grupa: Zablokowani
Postów: 17
Pomógł: 0
Dołączył: 15.02.2007

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


No poprostu otwiera plik rar i exe lub inne. To tak jak bym korzystał z funckji include()
Go to the top of the page
+Quote Post

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 - 19:51