Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie obrazka - działa wszędzie oprócz IE
Forum PHP.pl > Forum > PHP
Zagiewa
Witam. Ostatnio zauważyłem, że skrypt dodawania obrazków jaki używałem od bardzo dawna nie działa pod IE 8 (nie wiem jak ze starszymi wersjami). Zrozumiał bym gdy by w ogóle skrypt nie działał ale obecnie nie mam pojęcia gdzie szukać błędu. Skrypt wygląda tak:
  1. <form action="add_photo.php" method="post" enctype="multipart/form-data">
  2. <tr>
  3. <td>Wybierz zdjęcie, które chcesz dodać: </td><td><input type="file" name="filename" /></td>
  4. </tr>
  5. <tr>
  6. <td colspan="2"><input type="submit" name="submit" value="Dodaj" /><input type="submit" name="wstecz" value="Wstecz" /></td>
  7. </tr>
  8. </form>

  1. if($_FILES['filename']['type'] == "image/jpeg") {
  2.  
  3. #Jeśli plik jest obrazkiem to dodaje...
  4.  
  5. }else {
  6.  
  7. echo '<p class="alert">Zdjęcie, które podałeś nie jest w wymaganym formacie. <a href="add_photo.php">Wstecz</a></p>';
  8. }

Nie kopiowałem całego skryptu bo w tym jednym warunku pojawia się problem. Gdy w Operze, FF, Chrome dodam obrazek, skrypt poprawnie widzi go jako jpg i dodaje natomiast gdy TEN SAM obrazek chce dodać w IE dostaje komunikat "Zdjęcie, które podałeś nie jest w wymaganym formacie." więc teoretycznie jest problem z warunkiem ale czemu? Prosił bym o jakąś podpowiedz bo nie wiem gdzie doszukiwać się błędu.
sadistic_son
Nie przeglądałem dokładnie Twojego kodu bo pierwsze co rzuciło mi się w oczy chyba załatwi sprawę. Input z plikami z linijki 4 zamień na to:
  1. <input type="file" name="filename" enctype="multipart/form-data" />

Zagiewa
Niestety nie pomogło sad.gif jakieś inne pomysły?
Saki
Cytat(Zagiewa @ 27.01.2011, 21:14:47 ) *
Niestety nie pomogło sad.gif jakieś inne pomysły?

  1. <?php
  2. if(ereg("MSIE", getenv("HTTP_USER_AGENT"))) {
  3. echo 'Internet Explorer jest zablokowany.'; exit();
  4. }
  5. ?>

nospor
A wystarczylo zrobic
print_r($_FILES)
i wszystko byłoby od razu jasne czemu ci warunek nie dziala...
Dlaczego macie taki wstręt do prostego sprawdzenia tego co otrzymujecie?

@Saki to żeś sie popisał rozwiązaniem :/
Zagiewa
Saki kompletnie nie mam pojęcia co Ty mi napisałeś tongue.gif wieczorkiem będę miał czas to na spokojnie ogarnę ten Twój kod to chociaż się dowiem co on robi tongue.gif
nospor na ogół jeśli coś w ogóle nie działa to na 99,9% jest to błąd w kodzie, tutaj nie doszukiwałem się przyczyny w kodzie ponieważ we wszystkich innych przeglądarkach to działa, spodziewałem się bardziej, że coś dodatkowo trzeba dopisać aby jeszcze IE zatrybiło. Tak jak wspomniałem wcześniej dopiero wieczorem będę miał chwilę więc to posprawdzam smile.gif
nospor
Nawet nie zastanawiaj się co robi kod Saki no chyba, że chcesz wywalić wszystkich ktorzy używają IE

Cytat
nospor na ogół jeśli coś w ogóle nie działa to na 99,9% jest to błąd w kodzie, tutaj nie doszukiwałem się przyczyny w kodzie ponieważ we wszystkich innych przeglądarkach to działa, spodziewałem się bardziej, że coś dodatkowo trzeba dopisać aby jeszcze IE zatrybiło.
No i jakbyś zrobił print_r($_FILES) to byś się dowiedział właśnie co masz jeszcze dopisać by działało i pod IE.
Pamietaj: zawsze ale to zawsze jak cos ci nie dziala to sprawdzaj dane na ktorych pracujesz
kwiatek5
Rozwiń warunek dla IE:

  1. if($_FILES['filename']['type'] == "image/jpeg" || $_FILES['filename']['type'] == "image/pjpeg") {
  2.  
  3. #Jeśli plik jest obrazkiem to dodaje...
  4.  
  5. }else {
  6.  
  7. echo '<p class="alert">Zdjęcie, które podałeś nie jest w wymaganym formacie. <a href="add_photo.php">Wstecz</a></p>';
  8. }


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.