Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapisem do pliku TXT
Forum PHP.pl > Forum > PHP
mihow
Cześć!
Mam coś takiego:

  1. <?
  2. $tresc="blalalala";
  3.  
  4. $filecontent=$tresc;
  5.  
  6. header('Content-Type: application/x-unknown');
  7. header('Content-Disposition: attachment; filename="downloaded.txt"');
  8. header('Content-Length: '.strlen($filecontent));
  9. echo $filecontent;
  10. ?>


Niestety przeglądarka nie chce zapisać tego pliku jako "dowbloaded.txt" ale jako "test.php?download=1".
Co robię źle?

Michał
devnul
  1. <?php
  2. header('HTTP/1.1 200 OK');
  3. header('Date: ' . date("D M j G:i:s T Y"));
  4. header('Last-Modified: ' . date("D M j G:i:s T Y"));
  5. header("Content-Type: application/force-download"); 
  6. header("Content-Lenght: " . (string)(filesize($filelocation)));
  7. header("Content-Transfer-Encoding: Binary"); 
  8. header("Content-Disposition: attachment; filename=".str_replace(" ", "",basename($filelocation)).""); 
  9. readfile($filelocation);
  10. ?>


może tak?
starach
No to jest dosyć dziwna sprawa.
Po wpisaniu: http://localhost/test.php?download=1
  1. <?
  2. if(isset($_GET['download']) && $_GET['download']==1)
  3. {
  4. $tresc="blalalala";
  5.  
  6. $filecontent=$tresc;
  7.  
  8. header('Content-Type: application/x-unknown');
  9. header('Content-Disposition: attachment; filename="downloaded.txt"');
  10. header('Content-Length: '.strlen($filecontent));
  11. echo $filecontent;
  12. } else {
  13. echo 'eeee';
  14. }
  15. ?>
mihow
No niestety u mnie to nie działa sad.gif
starach
Hmm w takim razie problemu zdaje mi się należy szukać w wersji PHP / serwerze www lub przeglądarce która niepoprawnie zinterpretowała nagłówek.
mihow
Hmmm, nie sądzę.
Sprawdzałem na 3 maszynach i na każdej jest to samo...
devnul
na jakich maszynach? na 3 klientach i jednym serwerze czy na 3 serwerach i jednym kliencie czy na 3 serwerach i 3 klientach( i różnych przeglądarkach)? jeśli to ostatnie to może masz tam jeszcze jakiś kod który zakłuca działanie skryptu?
mihow
Tzn na jednym serwerze, ale na 3 różnych komputerach i przeglądarkach...
devnul
no więc wina może leżeć po stronie serwera i prawdopodobnie tak jest - daj link do tego skryptu to może łatwij będzie pomóc
mihow
Pomogło coś takiego dodatkowego:

  1. <?php
  2. header('Expires: 0');
  3. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  4. header('Pragma: public');
  5. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.