Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] download plików, jak ściągnąć plik .php na dysk
Scotty
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.02.2005

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


Witam. Tak jak w temacie - jak można ściąnąć za pomocą skryptu umieszczonego na serwerze, plik z tego samego serwera. Chodzi mi głównie o pliki html i php.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
NuLL
post
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


  1. <?php
  2.  
  3. function dl_file($file){
  4.  
  5.  //Plik istnieje
  6.  if (!is_file($file)) { die(&#092;"<b>404 File not found!</b>\"); }
  7.  
  8.  //Jakieś tam info
  9.  $len = filesize($file);
  10.  $filename = basename($file);
  11.  $file_extension = strtolower(substr(strrchr($filename,&#092;".\"),1));
  12.  
  13.  //Content-Type
  14.  switch( $file_extension ) {
  15.  case &#092;"pdf\": $ctype=\"application/pdf\"; break;
  16.  case &#092;"exe\": $ctype=\"application/octet-stream\"; break;
  17.  case &#092;"zip\": $ctype=\"application/zip\"; break;
  18.  case &#092;"doc\": $ctype=\"application/msword\"; break;
  19.  case &#092;"xls\": $ctype=\"application/vnd.ms-excel\"; break;
  20.  case &#092;"ppt\": $ctype=\"application/vnd.ms-powerpoint\"; break;
  21.  case &#092;"gif\": $ctype=\"image/gif\"; break;
  22.  case &#092;"png\": $ctype=\"image/png\"; break;
  23.  case &#092;"jpeg\":
  24.  case &#092;"jpg\": $ctype=\"image/jpg\"; break;
  25.  case &#092;"mp3\": $ctype=\"audio/mpeg\"; break;
  26.  case &#092;"wav\": $ctype=\"audio/x-wav\"; break;
  27.  case &#092;"mpeg\":
  28.  case &#092;"mpg\":
  29.  case &#092;"mpe\": $ctype=\"video/mpeg\"; break;
  30.  case &#092;"mov\": $ctype=\"video/quicktime\"; break;
  31.  case &#092;"avi\": $ctype=\"video/x-msvideo\"; break;
  32.  
  33.  //Wg. mnie nie powinny być ściągane ale jak chcesz
  34.  case &#092;"php\":
  35.  case &#092;"htm\":
  36.  case &#092;"html\":
  37.  case &#092;"txt\": die(\"<b>Cannot be used for \". $file_extension .\" files!</b>\"); break;
  38.  
  39.  default: $ctype=&#092;"application/force-download\";
  40.  }
  41.  
  42.  //początek nagłówków
  43.  header(&#092;"Pragma: public\");
  44.  header(&#092;"Expires: 0\");
  45.  header(&#092;"Cache-Control: must-revalidate, post-check=0, pre-check=0\");
  46.  header(&#092;"Cache-Control: public\"); 
  47.  header(&#092;"Content-Description: File Transfer\");
  48.  
  49.  //Content znaleziony
  50.  header(&#092;"Content-Type: $ctype\");
  51.  
  52.  // I ściągamy pliczek
  53.  $header=&#092;"Content-Disposition: attachment; filename=\".$filename.\";\";
  54.  header($header );
  55.  header(&#092;"Content-Transfer-Encoding: binary\");
  56.  header(&#092;"Content-Length: \".$len);
  57.  @readfile($file);
  58.  exit;
  59. }
  60.  
  61. ?>


BTW - Webhelp wg. mnie zaczyna kandydować do miana najgorszego forum w Polsce. Czemu go nie ma to mnie za bardzo nie obchodzi. Od kiedy pojawił się ten billboard(czyt. wczoraj (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) postanowiłem stanąc 1400 kilkudziesięciu postach i odwiedzać tylko WebBazar, bez innych forów - nawet php&Bazy Danych - jestem niepotrzebny.
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: 4.10.2025 - 06:57