Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP i pobieranie plików przez MS IE, IE nie pobiera plików ze skryptu PHP
lszota
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Kraków

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


Witam,
mam następujący problem.

Potrzebuję udostepniać pliki z poza struktury katalogowej serwera Apache.
Przygotowałęm następującą funkcję:

  1. <?php
  2.  
  3. function download($filepath)
  4. {
  5. $filetype = &#092;"Content-Type: application/octet-stream\";
  6. $filename = basename($filepath);
  7. $filesize = filesize($filepath);
  8. $attachment = preg_match(&#092;"MSIE\", $_SERVER[\"HTTP_USER_AGENT\"]) ? null : ' attachment;';
  9.  
  10. header(&#092;"Pragma: no-cache\");
  11. header(&#092;"Content-type: $filetype\");
  12. header(&#092;"Content-Length: $filesize\");
  13. header('Content-Transfer-Encoding: Binary');
  14. header(&#092;"Content-Disposition:$attachment filename=\"$filename\"\");
  15. $fh = readfile($filepath);
  16. fpassthru($fh);
  17. }
  18.  
  19. ?>


Mozilla pobiera pliki bez problemu, natomiast Internet Explorer próbuje pobrać plik
i przerywa prace z następującym komunikatem:
Internet Explorer nie może pobrać index.php z www.my-server.pl.
Program Internet Explorer nie może otworzyć tej witryny internetowej. Ządana witryna nie jest dostępna lub nie można jej znaleźć. Spróbuj ponownie później

Na czym może polegać problem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lszota
post
Post #2





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Kraków

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


Serdeczne dzięki za wykrycie błędów w moim kodzie.
Mimo korekty Internet Explorer ciągle generuje wymieniony wcześniej komunikat błedu.

Na pewno problem jest między Apachem (php) a przeglądarką.

Ponieważ transfer plików, do których jest link bezpośredni odbywa się bez zarzutów, to sądzę, że problem nie dotyczy serwera Apache a tylko nagłowków wysyłanych przez php.

Aby wykluczyć konflikt z innymi skryptami serwera, otrzymany kod umieściłem w osobnym pliku i dodałem linijkę wywołującą funkcję download() dla pliku znajdującego się (tak samo jak skrypt) w katalogu głównym serwera Apache.

Eksperymentowałem z różnymi nagłówkami, z "inline" i "attachment" i nic (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Brakło mi już pomysłów co jeszcze może być nie tak.
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 - 08:43