Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+gd] Walidacja pliku obrazka
Forum PHP.pl > Forum > Przedszkole
cadavre
Mam założenie, którym jest sprawdzenie czy plik wysłany na serwer jest plikiem z obrazem. Powiedzmy, że sprawdziłem już czy plik ma rozszerzenie jpg/jpeg/gif/png/bmp/tif/tiff (te będą obsługiwane) a teraz chciałbym sprawdzić czy plik faktycznie takowym jest, a nie np. plikiem .doc ze zmienionym ręcznie rozszerzeniem. Jak tego dokonać (a'la imageshack)? Może jakaś funkcja GD, którą można by wykonać i jeśli zwróci false znaczy, że plik nie jest obrazem. Tylko jaka funkcja obsługuje wsz. typy obrazów bez jego wczytywania do php? Może jest jakaś?

Z góry dzięki
Nilhir
sprawdzaj mime-type
siemakuba
Kurcze, wysyp piątkowej niechęci manualowej dziś?

getimagesize" title="Zobacz w manualu php" target="_manual - jeżeli sprawdzany plik nie będzie obrazkiem zwróci false.

pozdr.
Sabistik
Przenoszę na przedszkole.
cadavre
Przyznam się bez bicia, że założyłem temat i zaraz włączyłem manuala. tongue.gif

  1. <?php
  2. function validate ($imgfile) {
  3. $fileinfo = pathinfo($imgfile);
  4. $acceptable_extensions = array("jpg","jpeg","png","gif","tif","iff","bmp","jp2");
  5. if (!in_array($fileinfo['extension'],$acceptable_extensions)) {
  6. return false;
  7. }
  8. if (!@getimagesize($imgfile)) {
  9. return false;
  10. }
  11. return true;
  12. }
  13. ?>
Bogdan
Cytat(cadavre @ 8.12.2006, 16:20:01 ) *
Mam założenie, którym jest sprawdzenie czy plik wysłany na serwer jest plikiem z obrazem. Powiedzmy, że sprawdziłem już czy plik ma rozszerzenie jpg/jpeg/gif/png/bmp/tif/tiff (te będą obsługiwane) a teraz chciałbym sprawdzić czy plik faktycznie takowym jest, a nie np. plikiem .doc ze zmienionym ręcznie rozszerzeniem. Jak tego dokonać (a'la imageshack)? Może jakaś funkcja GD, którą można by wykonać i jeśli zwróci false znaczy, że plik nie jest obrazem. Tylko jaka funkcja obsługuje wsz. typy obrazów bez jego wczytywania do php? Może jest jakaś?

Z góry dzięki



Proszę

  1. <?php
  2. $FILE_MIMES = array('image/jpg','image/gif','image/png','image/jpeg');
  3. $FILE_EXTS = array('.jpg','.png','.gif','.jpeg');
  4.  
  5. if(!in_array($_FILES[plik][type], $FILE_MIMES) && !in_array(strtolower(substr($_FILES['plik']['name'],strrpos($_FILES['plik']['name'],'.'))), $FILE_EXTS)){
  6. echo '<br /><br />Przepraszamy, '. $_FILES['plik']['name'] .'('. $_FILES['plik']['type'] .') nie jest dopuszczalny i nie może być załadowany.';
  7. ?>


i Pozdrawiam
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.