Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Walidacja uploadu obrazka
japek
post
Post #1





Grupa: Zarejestrowani
Postów: 97
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Opole

Ostrzeżenie: (10%)
X----


Witam, czy da sie przed dodaniem obrazka na serwer sprawdzić jego szerokość i format aby przepuszczał tylko jpg bmp i gif'y? kombinowałem troche z getimagewidth ale coś nie idzie no i nie wiem jak sprawdzić rozszerzenie pliku (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Po dodaniu na serwer to już coś tam działa ale chciałbym przez upload'em aby zapobiec ładowania byle czego. Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Prph
post
Post #2





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


  1. <?php
  2.  
  3.  
  4. if(isset($_POST['submit']))
  5. {
  6. $boolError = false;
  7. $arrFile = $_FILES['photo_filename'];
  8.  
  9. if(empty($arrFile['name']))
  10. {
  11. $strErrorMsg .= ERROR_GALLERY_PHOTO_FILE;
  12. $boolError = true;
  13. }
  14.  
  15. if($arrFile['size'] > 102400)
  16. {
  17. $strErrorMsg .= ERROR_GALLERY_PHOTO_SIZE;
  18. $boolError = true;
  19. }
  20.  
  21. if(!$boolError)
  22. {
  23. $strSummary = addslashes($_POST['photo_name']);
  24. $intAlbumId = $_POST['album_id'];
  25.  
  26. if($arrFile['error'] > 0)
  27. {
  28. switch($arrFile['error'])
  29. {
  30. case 1:
  31. $strErrorMsg .= ERROR_GALLERY_PHOTO_SIZE;
  32. break;
  33.  
  34. case 2:
  35. $strErrorMsg .= ERROR_GALLERY_PHOTO_SIZE;
  36. break;
  37.  
  38. case 3:
  39. $strErrorMsg .= ERROR_GALLERY_PHOTO_BROKEN;
  40. break;
  41.  
  42. case 4:
  43. $strErrorMsg .= ERROR_GALLERY_PHOTO_EMPTY;
  44. break;
  45. }
  46. app_redirect(PATH_SERVER.'?load_module=gallery&action=photo_add&album_id='.$_POST['album_id'].'&msg='.$strErrorMsg);
  47. }
  48.  
  49. $arrFile['name'] = str_replace('ą', 'a', $arrFile['name']);
  50. $arrFile['name'] = str_replace('ę', 'e', $arrFile['name']);
  51. $arrFile['name'] = str_replace('ó', 'o', $arrFile['name']);
  52. $arrFile['name'] = str_replace('ł', 'l', $arrFile['name']);
  53. $arrFile['name'] = str_replace('ż', 'z', $arrFile['name']);
  54. $arrFile['name'] = str_replace('ź', 'z', $arrFile['name']);
  55. $arrFile['name'] = str_replace('ń', 'n', $arrFile['name']);
  56. $arrFile['name'] = str_replace('ć', 'c', $arrFile['name']);
  57. $arrFile['name'] = str_replace('ś', 's', $arrFile['name']);
  58.  
  59. $strPath = PATH_GALLERY.$intAlbumId.'/';
  60.  
  61. $strFileName = change_file_name($arrFile['name'], $strPath);
  62. $resDir = opendir($strPath);
  63.  
  64. if(!$resDir)
  65. {
  66. $strErrorMsg .= ERROR_GALLERY_PHOTO_OPEN_DIR;
  67. app_redirect(PATH_SERVER.'?load_module=gallery&action=photo_add&album_id='.$_POST['album_id'].'&msg='.$strErrorMsg);
  68. }
  69.  
  70. $strDest = $strPath.$strFileName;
  71.  
  72. $strDestMin = $strPath.'min/'.$strFileName;
  73.  
  74. if(is_uploaded_file($arrFile['tmp_name']))
  75. {
  76. if(!move_uploaded_file($arrFile['tmp_name'], $strDest))
  77. {
  78. $strErrorMsg .= ERROR_GALLERY_PHOTO_COPY;
  79. app_redirect(PATH_SERVER.'?load_module=gallery&action=photo_add&album_id='.$_POST['album_id'].'&msg='.$strErrorMsg);
  80. }
  81.  
  82. ?>


Framgemt mojego starego kodu. Na poczatku sprawdza czy przeslano plik. Nastepnie sprawdza Errory - te dodane przez php. Pozniej zamienia polskie na zwykle znaki. Na koncu przenosi do odpowiedniego katalogu.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 05:06