Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML] Problem z wysyłaniem pliku w IE, rozwiązany
!*!
post 16.08.2008, 00:23:39
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Formularz:
  1. <form action="fotka.php" method=post enctype="multipart/form-data">
  2.  
  3. <input type="hidden" name="MAX_FILE_SIZE" value="30000">
  4. <input type="file" name="plik">
  5. <input type="submit" value="WYSLIJ">
  6. </form>



  1. <?php
  2. $katalog = 'files/'; 
  3.  
  4. $losuj = rand(99, 9999999);
  5. $losuj2 = date("is"); 
  6. $losuj3 = date("HisYdm");
  7.  
  8. $nowanazwa = ''.$losuj.$losuj2.$losuj3.'';
  9.  
  10. $rozmiar = '400000'; // 40000 to jest 40kb ?
  11.  
  12. $rozmiarpis = "40Kb"; 
  13.  
  14.  
  15. //---ustawka---// 
  16.  
  17. $pliczek = $_FILES['plik']['name']; 
  18.  
  19. $explode = explode(".",$pliczek);
  20. $explode2 = ".$explode[1]";
  21.  
  22.  
  23. $wielkoscpliku = $_FILES['plik']['size']; 
  24.  
  25.  
  26. // pobiera wysokość i szerokość pliku
  27. $wys = '140';
  28. $szer = '100';
  29.  
  30. $rozm = getimagesize($_FILES['plik']['tmp_name']);
  31.  
  32. $echoerror2 = 'Błąd ';
  33.  
  34. if (isset($_FILES['plik']['name']))
  35. { 
  36.  
  37.  
  38. if ($wielkoscpliku >= $rozmiar){ 
  39.  
  40. $errorq=1; 
  41. $echoerror = "wielkość za duża"; 
  42.  
  43. }
  44.  
  45. if ($rozm[1] != $wys or $rozm[0] != $szer){ 
  46.  
  47. $errorq=1; 
  48. $echoerror = $echoerror2;
  49. } 
  50.  
  51. if ($_FILES['plik']['type'] != 'image/gif' AND $_FILES['plik']['type'] != 'image/jpeg' AND $_FILES['plik']['type'] != 'image/png') 
  52.  
  53. { 
  54.  
  55. $errorq=1; 
  56. $echoerror = $echoerror2;
  57. #$echoerror = "musisz wybrać plik graficzny *.gif, *jpg lub *.png"; 
  58.  
  59. }
  60. ?>


Sprawdzałem pod kilkoma przeglądarkami i jest ok... tylko IE w ogóle nie chce się dostosować i wywala błąd, dlaczego?

Ten post edytował !*! 16.08.2008, 14:38:02


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Foxx
post 16.08.2008, 00:27:47
Post #2





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


Jaki błąd?
Go to the top of the page
+Quote Post
!*!
post 16.08.2008, 09:53:57
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Ok, odkryłem że za błąd w IE odpowaida sprawdzanie pliku... Napisze mi ktoś dlaczego? Jak inaczej mam sprawdzić jaki to plik?
  1. <?php
  2. if ($_FILES['plik']['type'] != 'image/gif' AND $_FILES['plik']['type'] != 'image/jpeg' AND $_FILES['plik']['type'] != 'image/png') 
  3.  
  4. { 
  5.  
  6. $errorq=1; 
  7. $echoerror = $echoerror2;
  8.  
  9. }
  10. ?>


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
ayeo
post 16.08.2008, 09:56:36
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


method = "POST" ?


--------------------
Go to the top of the page
+Quote Post
!*!
post 16.08.2008, 10:38:23
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


  1. <?php
  2. $_POST['sprawdz'] = $_FILES['plik']['type'];
  3. $jaki = $_POST['sprawdz'];
  4.  
  5. if (isset($jaki)) { 
  6.  
  7. if ($jaki != 'image/gif' AND $jaki != 'image/jpeg' AND $jaki != 'image/png'){ 
  8.  
  9. $errorq=1; 
  10. $echoerror = $echoerror2;
  11.  
  12.  
  13. }}
  14. ?>


chodzi Ci o coś takiego? Nie rozumiem czemu te dane mają być przesyłane w post? Powyższy przykład i tak nie działa...

Ten post edytował !*! 16.08.2008, 10:38:53


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
paziek
post 16.08.2008, 11:34:44
Post #6





Grupa: Zarejestrowani
Postów: 207
Pomógł: 25
Dołączył: 16.11.2006

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


Te dane są przesyłane w post, ale chyba chodzi mu o to, abyś dodał w formularzu cudzysłów.
Tyle, że IE pewnie sobie radzi i bez niego.. zwłaszcza, że jak nie dasz tam żadnej metody, to samo z siebie sobie dodaje get :<

Ale jaki błąd ci wywala? Plik się uploaduje (z błędami), czy nie?
Go to the top of the page
+Quote Post
!*!
post 16.08.2008, 11:51:18
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Nie dodaje żadnego pliku, a błąd jest to po prostu zmienna $echoerror z napisaem o błedzie pliku, nic poza tym. A motyw z "post" widzialem i poprawiłem dawno, niestety nic to nie zmieniło.

Ten post edytował !*! 16.08.2008, 11:52:39


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
paziek
post 16.08.2008, 12:42:39
Post #8





Grupa: Zarejestrowani
Postów: 207
Pomógł: 25
Dołączył: 16.11.2006

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


Wykorzystaj $errorq i sprawdź który warunek zwraca błąd. Teraz zawsze tam wstawiasz 1 i nie wiadomo gdzie nastąpił błąd.
Trochę to zawęzi poszukiwania.

ps. Nie działa w IE6 oraz IE7, czy tylko IE6?
Go to the top of the page
+Quote Post
!*!
post 16.08.2008, 14:01:46
Post #9





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


znalazłem rozwiązanie, IE potrzebuje swoich typów:

  1. <?php
  2. $_FILES['plik']['type'] != 'image/pjpeg' AND $_FILES['plik']['type'] != 'image/x-png'
  3. ?>


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
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: 1.07.2025 - 06:22