Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] typ pliku
Forum PHP.pl > Forum > Przedszkole
peter13135
  1. <?php
  2. if($avek[type]==('image/gif' || 'image/png' || image/jpeg)) {$check_0=true;}
  3. ?>


czy powyższy kod jest prawidłowy??
a może coś w nim brakuje??
to jest część skryptu ładowania avatarów
pyro
a masz jakieś zabezpieczenia czy tylko tyle?
peter13135
mam sprawdzanie wagi/rozdzielczośći, ale najpierw jest sprawdzanie typu pliku,

wygląda to tak
  1. <?php
  2. if($avek[type]==('image/gif' || 'image/png' || 'image/jpeg')) {$check_0=true;} 
  3. else $check_0=false;
  4.  
  5. if($kb_size<101) {$check_1=true;} 
  6. else $check_1=false;
  7.  
  8. if(($rozdzielczosc[0]<101) && ($rozdzielczosc[1]<101) ) {$check_2=true;}
  9. else $check_2=false;
  10.  
  11. if(($check_1 && $check_2 && $check_0)==true)
  12. {
  13. zapisywanie
  14. }
  15. ?>
pyro
możesz jeszcze sprawdzać rozszerzenie pliku
peter13135
funkcją substr() questionmark.gif a sam typ pliku niewystarczy?
pyro
sprawdzanie MIME, można w bardzo prosty sposób, sprawdzanie rozszerzenia pliku napewno nie zaszkodzi winksmiley.jpg
revyag
Internet Explorer i Firefox zwrócą rożne mime. Może użyj funkcji exif_imagetype().

http://pl2.php.net/manual/en/function.exif-imagetype.php
peter13135
  1. <?php
  2. if($avek)
  3. {
  4. //sprawdzanie avka
  5.  
  6. if($kb_size<101) {$check_1=true;} 
  7. else $check_1=false;
  8.  
  9. if(($rozdzielczosc[0]<101) && ($rozdzielczosc[1]<101) ) {$check_2=true;}
  10. else $check_2=false;
  11.  
  12. $rozs=substr($avek[name], 3);
  13. $dozwolone= array('gif', 'png', 'peg', 'jpg', 'GIF', 'PNG', 'PEG', 'JPG' );
  14. if (in_array($rozs, $dozwolone)) {$check_3==true;}
  15.  
  16.  
  17. $random=rand(9999999,99999999999999999);
  18. if($check_1==true && $check_2==true && $check_3==true)
  19. {
  20. ?>


może być tak??

temat do zamknięcia

zrobiłem to już troszke inaczej

błąd był między innymi w substr , zamiast -3, dałem 3
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.