Autor | Zpráva | ||
---|---|---|---|
Filips Profil |
#1 · Zasláno: 9. 7. 2008, 02:07:54
Ahoj, mám následující problém. Mám uploadovací skript, ale nějak mi nefunguje v IE. Netuším proč.
přikládám kódy: PHP <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="author" content="Filip Výmola; e-mail:filips@filips.cz" /> <link rel="stylesheet" href="upload-style.css" media="screen" type="text/css" /> <title>Upload souborů - Paintball Nivnice</title> </head> <body> <?php //Nastaveni $max_vel_obr = 2147483648;//2 na 30 $soubor = true; $odesilaci_stranka = 'index.html'; $adresar = 'soubory/'; $chybovka = false; //Zjisteni zda-li existuje prvek se souborem if ( !isset ( $_FILES['obrazek']) ) { $chybovka = 'Formulář byl odeslán neúplný!'; break; } else { $obrazek = $_FILES['obrazek']; } //Overeni ostatnich chyb switch ( $obrazek['error']) { case UPLOAD_ERR_INI_SIZE: $chybovka = 'Velikost obrázku přesáhla povolený limit ' . "$max_vel_obr bajtů."; break 2; case UPLOAD_ERR_PARTIAL: $chybovka = 'Při odesílání souboru došlo k chybě, ' . "zkuste to prosím znovu <a href='{$odesilaci_stranka}'></a>."; break 2; case UPLOAD_ERR_NO_FILE: if ( $soubor ) { $chybovka = 'Nebyl vybrán žádný soubor, ' . "vyberte jej <a href='{$odesilaci_stranka}'>zde</a>."; } break 2; case UPLOAD_ERR_FORM_SIZE: $chybovka = 'Velikost souboru je podle skrytého pole ' . 'MAX_FILE_SIZE příliš velká.'; case UPLOAD_ERR_OK: if ( $obrazek['size'] > $max_vel_obr ) { $chybovka = 'Obrázek je příliš velký. Nemůže obsahovat více' . " než $max_vel_obr bajtů."; } break; default: $chybovka = "Došlo k neznámé chybě, " . "zkuste to znovu <a href='{$odesilaci_stranka}'>zde</a>."; } //Overeni MIME TYPE if ( !in_array( $obrazek['type'], array ( 'image/jpeg', 'image/pjepg', 'image/png', 'image/gif', 'image/JPEG', 'image/PJPG', 'image/PNG', 'image/GIF' ) ) ) { $chybovka = "Povoleny jsou pouze formáty JPG, JPEG, PNG a GIF, " . "opakujte pokus <a href='{$odesilaci_stranka}'>zde</a>."; } //} while ( 0 ); //Presunuti obrazku do adresare prijatych souboru if ( $chybovka==false ) { if(is_uploaded_file($obrazek['tmp_name'])){ if ( !@move_uploaded_file ( $obrazek['tmp_name'], $adresar . $obrazek['name'] ) ) { $chybovka = "Chyba při přesunutí souboru do cílového adresáře," . "opaujte pokus <a href='{$odesilaci_stranka}'>zde</a>."; echo "Chyba: ".$chybovka; }else echo '<div id="obsah"><span style="color: #008000";><strong>Soubor byl úspěšně nahrán!</strong></span> <br /> Soubor je umístěn zde: <a href='.$adresar . $obrazek['name'].'>'.$obrazek['name'].'</a></div>'; }else echo "Soubor se nepodařilo uploadovat na server."; }else{ echo "Chyba: ".$chybovka; } ?> </body> </html> HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="author" content="Filip Výmola; e-mail:filips@filips.cz" /> <link rel="stylesheet" href="upload-style.css" media="screen" type="text/css" /> <title>Upload souborů - Paintball Nivnice</title> </head> <body> <div id="obsah"> <form action="super-upload.php" method="post" enctype="multipart/form-data" class="form"> <input type="hidden" name="MAX_FILE_SIZE" value="20000000" /> <strong>Vyberte soubor z disku:</strong> <input type="file" name="obrazek" /> <input type="submit" value="Nahrát!" class="button" /> </form> </div> </body> </html> Díky za rady a připomínky |
||
Filips Profil |
#2 · Zasláno: 9. 7. 2008, 02:08:20
Jo kdyžtak funguje to tady: http://upload.paintball-nivnice.cz můžete vyzkoušet.
|
||
Matty Profil |
#3 · Zasláno: 9. 7. 2008, 09:52:27
Filips
V IE7 funguje. IMHO je blbost, aby PHP script nefungoval kvůli prohlížeči. |
||
Filips Profil |
#4 · Zasláno: 9. 7. 2008, 11:52:51
Matty
No to jsem si taky říkal, ale prostě v IE 6 mě to nevezme ten samý obrázek co ve Firefoxu. Tomu právěže moc nerozumím. |
||
Bubák Profil |
#5 · Zasláno: 9. 7. 2008, 12:14:07
IE7 standardní nastavení, nefunguje mi, dostal jsem hlášku:
Chyba: Povoleny jsou pouze formáty JPG, JPEG, PNG a GIF, opakujte pokus zde. Zkoušel jsem odeslat korektní soubory *.jpg a *.png Opera 9.51 a Safari 3.1.2 bez problémů. Zaměřil bych se na mime typ odesílaných souborů. |
||
Filips Profil |
#6 · Zasláno: 9. 7. 2008, 12:31:32
Bubák
No to nevím, protože ve firefoxu mi to bere všechno. V IE nic. |
||
Bubák Profil |
#7 · Zasláno: 9. 7. 2008, 12:33:10
Už vím, kde jsem o problému s mime typem odesílaných souborů v IE četl:
http://validator.webylon.info/docs/differences.html#uploaded-file |
||
Filips Profil |
#8 · Zasláno: 9. 7. 2008, 12:39:59
Hm zajímavé díky. A jak by se to dalo opravit? Nevím jestli tady bude vhodné podstrčit aplication/xml typ :-/
|
||
Filips Profil |
#9 · Zasláno: 10. 7. 2008, 20:21:45
Tak problém vyřešen. Problém: Překlep: image/pjepg má být image/pjpeg
|
||
Časová prodleva: 16 let
|
0