Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][html] Skrypt uploadu - typy zdjęć
Forum PHP.pl > Forum > Przedszkole
qba10
Mam taki skrypt uploadu:
  1. <?php
  2. case 'upload':
  3. default:{
  4. if ( $_POST['submit'] == 'Ok')
  5. {
  6. echo $_POST['nazwa-edytuj'] ;
  7. if ( $_POST['nazwa-edytuj'] == "")
  8. {
  9.  
  10. $datagalerri = date('YmdHis') ; 
  11. mkdir ("../galeria/". $datagalerri, 0777);
  12. mkdir ("../galeria/". $datagalerri.'/mini', 0777);
  13. }
  14. else
  15. {
  16. $datagalerri = $_POST['nazwa-edytuj'] ;
  17. chmod ("../galeria/". $datagalerri, 0777);
  18. chmod ("../galeria/". $datagalerri.'/mini', 0777);
  19. }
  20.  
  21.  
  22. echo'<form action="index.php?page=zdjecia&opcja=opisy" method="POST">
  23. <input type="hidden" name="galeria" value="'. $datagalerri.'" />
  24. <input type="hidden" name="liczba" value="'.$_POST['liczba'].'" />
  25. <input type="hidden" name="nazwa_galeri" value="'.$_POST['nazwa'].'" />';
  26. for( $x = 1; $x <= $_POST['liczba']; $x++ ) {
  27.  
  28. if (is_uploaded_file($_FILES['plik#'.$x.'']['tmp_name'])) {
  29. $edata = date('YmdHis') ; 
  30. if ($_FILES['plik#'.$x.'']['type'] == 'image/jpeg' or $_FILES['plik#'.$x.'']['type'] == 'image/png' or $_FILES['plik#'.$x.'']['type'] == 'image/gif') {
  31. echo 'Odebrano plik :  '.$_FILES['plik#'.$x.'']['name'];
  32. echo '<br/>
  33. ';
  34. if ($_FILES['plik#'.$x.'']['type'] == 'image/jpeg')
  35. {
  36. $ziom = move_uploaded_file($_FILES['plik#'.$x.'']['tmp_name'],
  37. "../galeria/".$datagalerri."/e".$edata."zdjecie".$x.".jpg");
  38. chmod('../galeria/'.$datagalerri."/e".$edata."zdjecie".$x.".jpg", 0644) ;
  39. echo '<input type="hidden" name="adres'.$x.'" value="e'.$edata.'zdjecie'.$x.'.jpg" />';
  40. }
  41. if ($_FILES['plik#'.$x.'']['type'] == 'image/gif')
  42. {
  43. $ziom = move_uploaded_file($_FILES['plik#'.$x.'']['tmp_name'],
  44. "../galeria/".$datagalerri."/e".$edata."zdjecie".$x.".gif");
  45. echo '<input type="hidden" name="adres'.$x.'" value="e'.$edata.'zdjecie'.$x.'.gif" />';
  46. }
  47. if ($_FILES['plik#'.$x.'']['type'] == 'image/png')
  48. {
  49. $ziom = move_uploaded_file($_FILES['plik#'.$x.'']['tmp_name'],
  50. "../galeria/".$datagalerri."/e".$edata."zdjecie".$x.".png");
  51. echo '<input type="hidden" name="adres'.$x.'" value="e'.$edata.'zdjecie'.$x.'.png" />';
  52. }
  53.  
  54. echo' <script>document.cookie = "proces=wykonany";</script>';
  55. }
  56. else { echo '<script>document.cookie = "proces=blad";</script>Plik #'.$x.' nie jest zdjęciem!!!<br>';}
  57. }
  58.  else {
  59.  echo 'Błąd przy przesyłaniu pliku #'.$x.'!<br>';
  60. echo' <script>document.cookie = "proces=blad";</script>';
  61. }
  62.  
  63. }
  64. echo '<input type="submit" name="dalej" value="Dalej" />
  65. </form>';
  66.  
  67.  
  68.  
  69.  
  70. }
  71. }
  72. ?>

Co zrobić by w IE poprawnie rozpoznawalo typy plikow, bo aktualnie nawet plik jpg jest uznawany za "niepoprawny format pliku" a w FF i operze jest wszsytko ok.
l0ud
Dodaj jeszcze jeden warunek - pliki jpeg wysyłane przez IE mają mime "image/pjpeg"

Albo najlepiej - użyj funkcji getimagesize() do sprawdzania typu smile.gif

http://pl2.php.net/manual/pl/function.getimagesize.php
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.