Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] download plików, jak ściągnąć plik .php na dysk
Scotty
post 18.02.2005, 18:10:59
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 (1 - 8)
czachor
post 18.02.2005, 19:52:03
Post #2





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

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


  1. <?php
  2. header('Content-Type: application/octet-stream');
  3. header('Content-Disposition: attachment; filename=' . $filename);
  4. header('Content-Type: application/force-download');
  5. ?>
sporo tego znajdziesz na forum...


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
NuLL
post 18.02.2005, 19:54:22
Post #3





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

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


jesli chcesz ściagnac sam, czysty kod php to Ci się nie uda.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
Scotty
post 18.02.2005, 20:06:15
Post #4





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

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


chodzi mi o sam skrypt ściągania plików niezależnie od formatu. i nic więcej. jakbym jeszcze mógł się dowiedzieć jak używać ten skrypt z headerami to byłbym ogromnie wdzięczny!

Ten post edytował Scotty 18.02.2005, 20:34:31
Go to the top of the page
+Quote Post
crash
post 18.02.2005, 20:25:28
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


  1. <?php
  2. $nazwa = 'plik.php';
  3.  
  4. header('Content-Type: text/plain');
  5. header('Expires: '.gmdate('D, d M Y H:i:s').' GMT');
  6.  
  7. // Dla IE:
  8. header('Content-Disposition: inline; filename = \"'.$nazwa.'\"');
  9. header('Cache-Control: must-revalidate, post-check = 0, pre-check = 0');
  10. header('Pragma: public');
  11. // Dla reszty:
  12. header('Content-Disposition: attachment; filename = \"'.$nazwa.'\"');
  13. header('Pragma: no-cache');
  14.  
  15. // treść pliku do pobrania, readfile czy co tam wolisz...
  16. ?>


Ten post edytował crashu 18.02.2005, 20:25:56


--------------------
Go to the top of the page
+Quote Post
Scotty
post 18.02.2005, 20:34:20
Post #6





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

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


Nie wiem czy nie zostałem źle zrozumiany.
Chodzi mi o to żeby po kliknięciu na odpowiedni link pokazało się okno do ściągnięcia pliku na dysk (takie jak bym zrobił <A href="plik.exe"></A> tyle że dla plików html lub innch)
Go to the top of the page
+Quote Post
NuLL
post 18.02.2005, 20:37:41
Post #7





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 tongue.gif) postanowiłem stanąc 1400 kilkudziesięciu postach i odwiedzać tylko WebBazar, bez innych forów - nawet php&Bazy Danych - jestem niepotrzebny.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
MoD
post 19.03.2005, 11:43:50
Post #8





Grupa: Zarejestrowani
Postów: 193
Pomógł: 0
Dołączył: 14.09.2003
Skąd: Brodnica (koło Torunia)

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


Ja mam ten sam problem.

  1. <?php
  2. ?>
  3.  
  4. <?php
  5.  
  6. $size = filesize( $_SESSION[&#092;"path\"].$_GET[\"file\"] );
  7.  
  8. header( 'Pragma: public' );
  9. header( 'Expires: 0' );
  10. header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );
  11. header( 'Cache-Control: public ');
  12. header( 'Content-Description: File Transfer' );
  13.  
  14. header( 'Content-Type: application/force-download' );
  15.  
  16. header( 'Content-Disposition: attachment; filename=\"'.$_GET[&#092;"file\"].'\"' );
  17.  
  18. header( 'Content-Transfer-Encoding: binary' );
  19. header( 'Content-Length: '.$size );
  20.  
  21. readfile( $_SESSION[&#092;"path\"].$_GET[\"file\"] );
  22.  
  23. ?>


Plik się nie ściąga, nie wiem czemu.

Ten post edytował MoD 23.03.2005, 20:03:39


--------------------
Go to the top of the page
+Quote Post
goukan
post 2.06.2013, 18:36:44
Post #9





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 25.03.2013

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


Odkopie trochę ten temat.. A mianowicie mam ten kod co napisał Null i faktycznie działa. Plik się pobiera, ale jak chcę go otworzyć (.png) to windows wyświetla error: Przeglądarka fotografii systemu Windows nie może otworzyć tego obrazu, ponieważ plik jest prawdopodobnie zniszczony, uszkodzony lub jest za duży..
W czym problem?
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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 01:44