Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sparwdzenie Mime Type
Forum PHP.pl > Forum > PHP
Kinool
jaka funkcja sprawdzic MIME TYPE plikow znajdujacych sie na serverze? (uploadowanych wiem)

robie maly download z katalogu, pliki wysylam przez header i generalnie dziala prawie ok ale wyklada sie przy png, pliki przeslane sa niepoprawne (acrobat wywala blad)

wiec pomyslalem ze bede pobieram MIME TYPE pliku i odpowiednia wartosc wstawial w "Content-type: "

filetype() nie zwraca MIME sad.gif

pozdrawiam

---------- EDIT --------------

narazie zrobilem male obejscie tego problemu, sprawdzam rozszerzenie pliku i pobieram z przypisanej tablicy typ;

  1. <?php
  2. $typ['pdf'] = 'application/pdf';
  3. $typ['zip'] = 'application/zip';
  4. $typ['xls'] = 'application/vnd.ms-excel';
  5. // ... jeszcze pare innych typow
  6.  
  7. // ... KOD
  8.  
  9. $f_typ = explode('.',$_GET['idd']); // $_GET['idd'] zmienna z nazwa pliku do przeslania (wczesniej sprawdzam czy jest w odpowiednim katalogu takowy pliczek)
  10. $f_typ = end($f_typ);
  11.  
  12. header('Content-type: '.$typ[$f_typ]);
  13. // .... reszta kodu
  14.  
  15. ?>


narazie dziala ok ale problrm jest taki ze kady plik musi miec wpis w tablicy z typami i poprawne rozszerzenie


-------------- EDIT 2 ------------------

oczywiscie nic nie jest kolorowe i jest kolejny problem sad.gif pliki pdf pod IE sciagaja sie dobrze (sa odczytywane) a pod FireFoxem niestety wywala jakis blad sad.gif do wyslania uzywam:
  1. <?php
  2.  
  3. // ... KOD
  4. header('Content-type: '.$typ[$f_typ]);
  5. header('Content-Length: '.$size);
  6. header('Content-Disposition: attachment; filename='.$_GET['idd']);
  7. readfile('download/'.$_GET['idd']);
  8. // ... reszta kodu
  9.  
  10. ?>


spotkal sie moze ktos z czyms takim??
dodam ze rozpoznawanie typu przez firefoxa jest poprawne
e-Gandalf
Czy http://pl.php.net/manual/en/function.mime-content-type.php nie odpowiada Twoim potrzebom?

(btw. Hawk - widzisz? Mowilem, ze nalezy to dodac do Thota? ;p)
Kinool
Cytat
(php 4 >= 4.3.0, php 5)
na moim php 4.3.4 nie dziala (a niby powinno) wiec w niczym mi to nie pomoglo sad.gif

co do dalszej czesci postu o blednym dzialaniu pod FireFoxem to sprawa nadal nierozwiazana sad.gif nawet header('Location: http://localhost/costa.pdf'); tez generuje blad pdf-a sad.gif moze to Mozilla ma jakis blad??
e-Gandalf
Nie powiedziales jaki blad wywala Ci Fx.
Po drugie, czy przeczytales pierwszy komentarz na stronie ktora podalem? php posiada taka funkcje i dziala ona poprawnie.
Nie znam innego sposobu na sprawdzanie mime-type, chyba, ze chcesz duplikowac prace bibliotek systemowych i grzebac sie w bytekodzie.
A powyzsza funkcja dziala w php 4.3.4
Kinool
blad:
Cytat
Fatal error: Call to undefined function: mime_content_type()


czyli niezdefiniowana funkcja.

co do komentarza w manualu:
Cytat
Note that you will need /bin/sh as well as the file(1) program ...


ja odpalam to na Windowsie (localhost) wiec moze tu jest problem??
e-Gandalf
Moze jakbys poczytal manual: http://pl.php.net/manual/en/ref.mime-magic.php wiedzialbys co zrobic z Win32.
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.