| 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