Autor | Zpráva | ||
---|---|---|---|
Akali Profil |
#1 · Zasláno: 24. 7. 2011, 11:01:25 · Upravil/a: Akali
Ahoj, potřeboval bych kouknout na tento kód. Když nahrávám ve dvou prohlížečích (IE, FF) stejný obrázek tak se v FF nahraje ale v IE8 se nenahraje a vypíše se chyba Obrázek musí být ve formátu .jpeg
Proč se v IE nenahraje a ve firefoxu nahraje? <?php if (isset($_POST['submit'])){ $size = GetImageSize($image); $width = $size[0] ; $height = $size[1] ; if($width>201 || $height>201){ print "Maximální rozměry obrázku jsou 200x200<br>"; ?><a href="javascript:history.go(-1)"><- back</a><? exit; } if ($image_type == "image/jpeg") { $noinput = true; $path="images/avatar/"; if($image != none && $image_name != "" && !empty($image_name)) { print("<BR><BR>File name: $image_name <BR>\n"); print("File Dimension: $image_size <BR>\n"); print("File Type: $image_type <BR>\n"); print("<HR>"); if($image!="none" && copy($image , "$path/".$_SESSION['UserId'].".jpg" ) && unlink($image)){ $nofile=false; echo "<center>"; echo "<br>Obrázek <b>".$_SESSION['UserId'].".jpg</b> byl úspěšně nahrán!.<br><br>"; echo "</center>"; include 'db.php'; $objekt_vysledku = mysqli_query($db_spojeni, "SET NAMES 'UTF8'"); $sql_prikaz = "UPDATE `uzivatele` SET `fotka` = '<img src=http://velkyberanov-fotbal.cz/images/avatar/".$_SESSION['UserId'].".jpg>' WHERE `uzivatele`.`id` = '".$_SESSION['UserId']."' LIMIT 1" ; ; $objekt_vysledku = mysqli_query($db_spojeni, $sql_prikaz); }else{ print "error<br>"; ?><a href="javascript:history.go(-1)"><- back</a><? exit; } }else{ $nofile=true; print "nebyl vybrán obrázek<br>"; } } else{ echo "Obrázek musí být ve formátu .jpeg!"; } } echo "<a class=\"cerny\" href=\"http://velkyberanov-fotbal.cz/account.php?id=".$_SESSION['UserId']."\"><- zpět na svůj účet</a>"; ?> |
||
Davex Profil |
#2 · Zasláno: 24. 7. 2011, 12:25:28
Chyba je někde mimo tento kód. Proměnná
$image_type asi neobsahuje očekávanou hodnotu.
|
||
Akali Profil |
#3 · Zasláno: 24. 7. 2011, 14:23:25
Někde mimo kód. Jak to mám chápat? Žádnej jinej kód na tenhle script nenavazuje..
Jak tedy zjistím, jakou hodnotu mám očekávat v $image_type? |
||
motik Profil |
#4 · Zasláno: 24. 7. 2011, 15:24:47
Akali:
zkus tam přidat or $image_type == "image/jpg" |
||
Yur4Y_ Profil * |
#5 · Zasláno: 24. 7. 2011, 15:27:03
Ja by som tú kontrolu typu úplne vyhodil. Skontroluj príponu plus pridaj getimagesize, či je súbor naozaj obrázok.
|
||
Akali Profil |
#6 · Zasláno: 24. 7. 2011, 15:30:03
motik:
Bohužel to nepomohlo |
||
motik Profil |
#7 · Zasláno: 24. 7. 2011, 15:31:11
Akali:
tak zkus to, co ti radí Yur4Y. |
||
Akali Profil |
#8 · Zasláno: 24. 7. 2011, 18:30:34
Tak jsem po chvilce testování zjistil, že IE bere $image_type jako image/pjpeg.. potom už stačilo upravit podmínku
if ($image_type == "image/jpeg" or $image_type == "image/pjpeg") |
||
Davex Profil |
#9 · Zasláno: 24. 7. 2011, 19:58:45
Akali:
„Někde mimo kód. Jak to mám chápat?“ Chápej to tak, že uvedený kód není kompletní a je samostatně nefunkční. 1) Není tam žádný upload. 2) Nejsou definované proměnné $image , $image_type , $image_name a $image_size .
3) Není definována konstanta none .
Chyba mohla být v kterékoli zde neuvedené části. Pokud jsi nečekal konkrétní radu, tak by to bylo v pořádku, a jak vidíš, tak sis musel chybu najít sám. |
||
Časová prodleva: 14 let
|
0