Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z funkcja do sciagania plikow, potrzebuje szykiej pomocy
AIRSKY
post 26.05.2005, 23:48:52
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 31.01.2004

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


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

ale zauwazyłem w jej działaniu pewna nieprawidłowosc ..
tzn . gdy siagam archiwa rar to potem nie moge ich otworzyc ..
wypisuje mi komunikat ze sa uszkodzone [ ' nieoczekiwany koniec archiwum ] i nie moge ich wypakowac ...
zastanawiam sie czy moze brakuje tu jakichs nagłówków albo czegos jeszcze .. .
bede bardzo wdzieczny za wszelka pomoc
pozdr.
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 Wersja Lo-Fi Aktualny czas: 25.07.2025 - 10:09