Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][inne][PHP]Pobieranie plików
Poczatkujacyyo
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 22.10.2012

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


Witam, mam vps'a i chciabym na nim mieć taką liste plików w jednym folderze: http://files.sa-mp.com/ (wiem jak już to zrobić za pomocą .htaccess) ale chciałbym też zrobić, że jak kliknę na dany plik zacznie mi go pobierać - a tak się dzieje tylko z plikami np. .exe, a pliki np .txt są otwierane przez przeglądarkę i nie da się ich pobrać. Proszę mi pomóc co miałbym zrobić, żeby możan było to pobierać (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kayman
post
Post #2





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

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


  1. <?php
  2. function downloadFile( $fullPath ){
  3.  
  4. // Must be fresh start
  5. if( headers_sent() )
  6. die('Headers Sent');
  7.  
  8. // Required for some browsers
  9. if(ini_get('zlib.output_compression'))
  10. ini_set('zlib.output_compression', 'Off');
  11.  
  12. // File Exists?
  13. if( file_exists($fullPath) ){
  14.  
  15. // Parse Info / Get Extension
  16. $fsize = filesize($fullPath);
  17. $path_parts = pathinfo($fullPath);
  18. $ext = strtolower($path_parts["extension"]);
  19.  
  20. // Determine Content Type
  21. switch ($ext) {
  22. case "pdf": $ctype="application/pdf"; break;
  23. case "exe": $ctype="application/octet-stream"; break;
  24. case "zip": $ctype="application/zip"; break;
  25. case "doc": $ctype="application/msword"; break;
  26. case "xls": $ctype="application/vnd.ms-excel"; break;
  27. case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
  28. case "gif": $ctype="image/gif"; break;
  29. case "png": $ctype="image/png"; break;
  30. case "jpeg":
  31. case "jpg": $ctype="image/jpg"; break;
  32. default: $ctype="application/force-download";
  33. }
  34.  
  35. header("Pragma: public"); // required
  36. header("Expires: 0");
  37. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  38. header("Cache-Control: private",false); // required for certain browsers
  39. header("Content-Type: $ctype");
  40. header("Content-Disposition: attachment; filename=\"".basename($fullPath)."\";" );
  41. header("Content-Transfer-Encoding: binary");
  42. header("Content-Length: ".$fsize);
  43. flush();
  44. readfile( $fullPath );
  45.  
  46. } else
  47. die('File Not Found');
  48.  
  49. }
  50.  
  51. if (isset($_GET['file']))
  52. downloadFile('folder_z_plikami/' . $_GET['file']); // za folder_z_plikami wstawic prawidłową ściężkę do pliku
  53.  
  54. ?>


to cały plik (IMG:style_emoticons/default/smile.gif) tworzysz w notatniku i save as -> download.php
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 21:38