Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: getimagesize ongelma

Sivun loppuun

hltr [04.01.2009 12:44:19]

#

Minulla on kaksi filua. Ensimmäisessä on input-kenttä, jonne valitaan tiedosto, jonka haluan tutkia. Se lähettää tiedoston(?) lataaja.php:lle. Miksi tuo getimagesize ei toimi tuossa? Haluaisin siis, että pystysin valitsemaan kuvan tuohon input kenttään omalta tietokoneeltani ja sitten tuo lataaja.php antaisi siitä nuo getimagesize tiedot.


<br><br><form action="lataaja.php" method="post" ENCTYPE="multipart/form-data">
Tiedosto: <input type="file" name="file" size="30"> <input type="submit" value="Lähetä">
</form>

<?php

$tiedot = getimagesize($_FILES['file']['tmp_name']);

echo "<br>Tiedot: $tiedot, $tiedot[0], $tiedot[1], $tiedot[2]";

?>

ajv [04.01.2009 13:18:06]

#

Kyl toi mul toimi. Ei anna mitään virheilmoitusta? Katso mitä tuo $_FILES-taulukko pitää sisällään: print_r($_FILES) ja pastea vaikka tänne.

hltr [04.01.2009 13:21:50]

#

Laitoin tuon print_r($_FILES) ruon echon alapuolelle.

Tiedot: , , , Array ( [file] => Array ( [name] => kuva.jpg [type] => image/jpeg [tmp_name] => /tmp/phpPIALMO [error] => 0 [size] => 47518 ) )

ajv [04.01.2009 13:26:21]

#

Kuva tulee ainakin perille. Kokeileppa mitä tuo getimagesize palauttaa:

print_r(getimagesize($_FILES['file']['tmp_name']));

hltr [04.01.2009 13:32:43]

#

<?php

$tiedot = getimagesize($_FILES['file']['tmp_name']);

echo "<br>Tiedot: $tiedot, $tiedot[0], $tiedot[1], $tiedot[2]";
echo "<br>";
print_r($_FILES);
echo "<br> getimagesize palauttaa: ";
print_r(getimagesize($_FILES['file']['tmp_name']));

?>

Näytölle tulee:

Tiedot: , , ,
Array ( [file] => Array ( [name] => motocross240x320.jpg [type] => image/jpeg [tmp_name] => /tmp/phpOOWWWs [error] => 0 [size] => 47518 ) )
getimagesize palauttaa:

Palvelimena on MBNET ja siellä lukee "MBinternetissä on käytössä php:n versio 4.3.10", voiko tässä olla jotain "häikkää", että tämä versio ei tue tms.?

ajv [04.01.2009 13:42:02]

#

Eli ilmeisesti getimagesize() ei tunnista kuvaa kuvaksi? Kokeile jollain toisella kuvalla (varmaan oletkin jo kokeillut) tai koita ladata se kuvasi tuonne: http://ajv.lautatarha.com/testing/getimagesize.php

Edit: jos en ihan väärin muista, niin joskus on ollut PHP:n funktioilla vaikeuksia käsitellä joitain kamerakännykän jpg-kuvia.

hltr [04.01.2009 13:44:30]

#

Tuonne meni kyllä ihan oikein... Onpas erikoista.

edit. Kopioin tuon sourcen MBnettiin ja siellä se tulostaa taas puutteellisesti:

Array
(
    [file] => Array
        (
            [name] => motocross240x320.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpaxMvzK
            [error] => 0
            [size] => 47518
        )

)

ajv [04.01.2009 13:48:44]

#

Vika lienee sitten MBNETissä, kannattaa laittaa mailia sinne ylläpitoon. Vihjase samalla, että päivittävät PHP5:een.

Niko [04.01.2009 14:54:19]

#

Mbnetissä lienee safemode käytössä (ja/tai open_basedir) jolloin et voi lukea /tmp-kansiosta. move_uploaded_filellä pitää siis ensin siirtää tiedosto toisaalle ja lukea vasta sitten.


Sivun alkuun

Vastaus

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

Tietoa sivustosta