Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php+gd] Walidacja pliku obrazka
cadavre
post 8.12.2006, 16:20:01
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


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


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Nilhir
post 8.12.2006, 16:24:25
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 2.10.2003
Skąd: Kraków

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


sprawdzaj mime-type


--------------------
Nilhir's Blog
Go to the top of the page
+Quote Post
siemakuba
post 8.12.2006, 16:37:46
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


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.
Go to the top of the page
+Quote Post
Sabistik
post 8.12.2006, 16:48:40
Post #4


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


Przenoszę na przedszkole.
Go to the top of the page
+Quote Post
cadavre
post 8.12.2006, 17:12:56
Post #5





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


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. ?>


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
Bogdan
post 8.12.2006, 18:26:36
Post #6





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 1.12.2006

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


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:29