Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedoston lähetys epäonnistuu, tiedot puuttuvat

manninen [22.06.2014 22:49:18]

#

Hei!

Millä tavalla saan varmasti ja luotettavasti kuvan sisällöstä kaiken tiedot.

print_r($_FILES);

Kertoo minulle julman totuuden, että välillä tiedot kuvan sisällöstä löytyy ja välillä ei.

Array (
 [file] => Array (
  [name] => 2012-06-05 13.53.29.jpg
  [type] =>
  [tmp_name] =>
  [error] => 1
[size] => 0 )
)

Antti Laaksonen [22.06.2014 23:12:52]

#

Mitä tarkoitat tiedoilla kuvan sisällöstä?

manninen [23.06.2014 00:09:04]

#

Tarjoitan kuvan kokoa, tyyppiä yms..

$_FILES["file"]["size"]  == 0, oli kuvan koko mikä tahansa
$_FILES["file"]["type"]  == '', oli tyyppi mikä tahansa.

Tarkoituksenani on luonnollisesti ladata kuva palvelimelle, ongelmana on kuitenkin satunnainen vika lataamisessa. Kuvan kokoa ei aina tunnisteta.

Metabolix [23.06.2014 00:38:26]

#

Jos tiedoston koko on 0, lähetys on mennyt pieleen tai on lähetetty tyhjä tiedosto. Kohdasta error löytyy luonnollisesti virhekoodi.

Jos vika esiintyy vain joskus, todennäköinen syy on liian iso tiedosto. Ensimmäisessä viestissäsi näkyykin virhekoodi 1 eli UPLOAD_ERR_INI_SIZE, eli lähetetty tiedosto ylittää PHP:n asetuksissa olevan kokorajoituksen.

Kuvan kokoa (pikseleinä) ja tyyppiä et saa noista muuttujista ikinä luotettavasti selville, koska tuossa size tarkoittaa tiedoston kokoa (tavuina) ja tyyppi taas on selaimen tai huonossa tapauksessa hakkerin ilmoittama. Oikeita tietoja voit selvittää kuvan tallentamisen jälkeen funktiolla getimagesize tai exif_imagetype.

manninen [23.06.2014 00:55:57]

#

Kiitoksia, näistä tiedoista oli runsaasti apua.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta