Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zła nazwa pliku podczas download !
Forum PHP.pl > Forum > Przedszkole
porowski
Ponizej znajduje sie kod, ktory niby dziala a niby nie...

Problem jest w tym ze plik dwonloaduje sie prawidlowo, ale nazwa do zapisu cos jest nie tak... tzn... w Internet Explorer podczas wyswietlenia sie okienka do zapisu pliku nie ma "mojej nazwy" pliku tylko taka zama jak nazwa pliku php. Np jak plik nazywa sie video.php to plik zapisuje sie pod nazwa video.avi zamiast moja_nazwa.avi

W innych przegladarkach jest wszystko OK... nazwa pliku jest prawidlowa


  1. <?php
  2.  
  3. $filename = 'moja_nazwa.avi';
  4. $file = 'video/xyz123.avi';
  5. $size = filesize($file);
  6. $roz = strtolower(substr(strrchr($filename, &#092;".\"), 1));
  7.  
  8. switch($roz)
  9. {
  10. case avi: $mime = 'video/x-msvideo'; break;
  11. case wmv: $mime = 'video/x-ms-wmv'; break;
  12. case mpg: $mime = 'video/mpeg'; break;
  13. case mpeg: $mime = 'video/mpeg'; break;
  14. case mpe: $mime = 'video/mpeg'; break;
  15. case mov: $mime = 'video/quicktime'; break;
  16. case gt: $mime = 'video/quicktime'; break;
  17. case rm: $mime = 'application/vnd.rn-realmedia'; break;
  18. case rv: $mime = 'video/vnd.rn-realvideo'; break;
  19. }
  20.  
  21. header(&#092;"Content-Type: $mime\");
  22. header(&#092;"Content-Length: $size\");
  23. header(&#092;"Content-Disposition: attachment; filename=$filename\");
  24.  
  25. @readfile($file);
  26.  
  27. ?>
tiraeth
Cytat(MANUAL)
...

Notatka: W Microsoft Internet Explorer 4.01 jest błąd, który uniemożliwia wykorzystanie tego mechanizmu. Nie ma na to rozwiązania. Błąd, który zahacza o ten mechanizm, jest także w Microsoft Internet Explorer 5.5, jednak da się go ominąć aktualizując przeglądarkę poprzez Service Pack 2 lub póniejszy.

...

Wniosek wyciągnij sam smile.gif
porowski
mam pełna aktualke do IE... service pack 2 i wszelkie inne co byly do niej...

i wie, ze to dziala na mojej IE, dlatego bo jak sciagam pliki z pewnego servera to jest OK, a wiem ze jest ta taki system zapisu plikow... niestety nie mam dostepu do kodu sad.gif
crash
Z tego co kiedyś tam wydłubałem z phpMyAdmina wyczaiłem, że IE jak zwykle udziwiniając działa poprawnie gdy dostanie nagłówek: Content-Disposition: inline; filename = "nazwa_pliku"
porowski
jak mam: Content-Disposition: inline; filename = "nazwa_pliku"
to automatycznie otwiera mi playera i odtwarza plik przez siec, zamiast wyskakiwac okienko dwownloadu :|
pauluZ
Witajcie.
Właśnie mam ten problem:
ten sam skrypt na dwóch serwerach:
  1. <?php
  2. // We'll be outputting a JPG
  3. header('Content-type: image/jpeg');
  4. header('Content-Disposition: attachment; filename=\"graf2.jpg\"');
  5. readfile('graf2.jpg');
  6.  
  7. ?>

I na jednym serwerze otwiera plik ok i chce go zapisywać a na drugim serwerze
mówi że nie potrafi otworzyć tego pliku (w ogóle pokazuje mi nazwę skryptu php zamiast nazwę grafiki).
NIe musze wspominać że jestem pod WinME mam IE 6.0 z SP1 i w jednym oknie otwieram http://serwer_1.pl/skypt.php a w drugim http://serwer_2.pl/skypt.php
(ten sam skrypt)

Jakie opcje wpływają na download plików poprzez skrypty ?
coś w php.ini?!?
(allow_url_fopen, file_uploads, post_max_size, ... ?!?)
czy coś w ustawieniach Apache?

PS. Porównuję wszystko już chyba od godziny i na prawde mam oba serwery 'prawie' ;-) identyczne .... a na jednym działa a na drugim nie ....
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.