Ono to je jedno ci mam spravny atribut name alebo nie. Ide o to, ze ked kontrolujem pole $_FILES funkciou print_r(), nieje take ako ma byt. No pre skusku som si spravil tento kod:
Kód:
<?php
if( !isset( $_GET['step'] ) || $_GET['step'] != 2 ) {
?>
<form action="?step=2" method="post" enctype="multipart/form-data">
<b>vyberte fotografiu 1: </b><br> <input type="file" name="obrazok0"> <p>
<b>vyberte fotografiu 2: </b><br> <input type="file" name="obrazok1"> <p>
<b>vyberte fotografiu 3: </b><br> <input type="file" name="obrazok2"> <p>
<b>vyberte fotografiu 4: </b><br> <input type="file" name="obrazok3"> <p>
<p>
<input type="submit" value="pridaj">
</form>
<?php
} elseif( isset( $_GET['step'] ) && $_GET['step'] == 2 ) {
print_r( $_FILES );
}
?>
Spusim cez localhost. Ak vyberiem 1 obrazok, vracia toto:
Kód:
Array ( [obrazok0] => Array ( [name] => 00.JPG [type] => image/jpeg [tmp_name] => /tmp/phpvdgvU2 [error] => 0 [size] => 3650277 ) [obrazok1] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) [obrazok2] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) [obrazok3] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) )
Ak 2 obrazky, vracia to iste, akurat pole $_FILES['obrazok1'] je naplnene podobne spravne ako pole $_FILES['obrazok0'].
Ak vyberiem 3 alebo 4 obrazky, vracia to len toto:
Kód:
Array ( )
Takze podla mna je jasne chyba v nastaveni localhostu.
rooobertek píše:
vies používať wireshark alebo firebug? Ak nie, pre začiatok nainštaluj firebug chcem zistiť, či je problém vo formulári alebo na serveri
Nepoznam ani jeden z tych programov, pracujem na ubuntu takze dufam ze su tie programy k dispozicii aj pre mna, idem to vyskusat.
// nainstaloval som firebug, pozrel zopar tutorialov ako ho pouzivat. Je to velmi uzitocny nastroj, urcite sa mu zide v buducnosti takze dakujem. Ale konkretne v tomto pripade mi asi moc nepomoze pretoze kod, ktory som teraz uviedol urcite chybny nieje a predsa sa sprava ako by sa nemal.