Autor Zpráva
Astro
Profil *
chtěl bych se zeptat...uploaduju obrázek na server což mi normálně funguje ale chtěl bych omezit upload obrázku mezi 50(šířka) x 50(výška) px, to znamená, že pokud by šířka nebo výška nebo oboje obrázku byla větší jak 50px, zastavilo by to upload a oznámilo chybuvou hlášku...mě stačí ta podmínka, děkuju
djlj
Profil
Funkce pro práci s obrázky.
joejoe
Profil *
tohle v podstate nejde.

pred tim nez uploadnes CELY obrazek nevis jakou ma velikost - potom se to da zjistit tusim funkci $pole = getImageSize() - viz. manual

dalsi moznost je vypocitat si maximalni teoretickou velikost obrazku podle zpusobu ulozeni dat, (50 pixel x 50 pixel x 3 bajty na barevny kanal x 3 bajty na alpha kanal + 300 bajtu hlavicka tj cca 22 kb s rezervou 30 kb)

kontrola if ($_FILES[$hodnota_name]['size'] < 30000) asi probehne az po prijeti celeho souboru

v manualu se jeste pise :
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
if ($_FILES[$hodnota_name][UPLOAD_ERR_INI_SIZE] == UPLOAD_ERR_FORM_SIZE) {}


potom by se dalo zkusit treba:
ini_set('upload_max_filesize', 30000);
if ($_FILES[$hodnota_name][UPLOAD_ERR_INI_SIZE] == UPLOAD_ERR_INI_SIZE) {}

zdroje:
http://cz2.php.net/manual/cs/features.file-upload.php
http://cz2.php.net/manual/cs/features.file-upload.common-pitfalls.php
http://cz2.php.net/manual/en/features.file-upload.errors.php - nektere veci v ceskem manualu nejsou!
joejoe
Profil *
ted jsem si vsiml, ze jsem se trosku preklepl
ma byt:

if ($_FILES[$hodnota_name]['error'] == UPLOAD_ERR_FORM_SIZE) {}
kvoky
Profil *
Já to mám takhle: Napřed uploaduju obrázek, pak dám výše zmíněné getImageSize()

teda:

//vytahne z ty funkce nejaky udaje (ani nevim jak to funguje, to mam z jedny knizky)
list( $sirka, $vyska, $typ, $atributy ) = getimagesize( $Nazev_obrazku);

a pak uz dam podminku treba:

if ( $sirka>50){
//smaže obrázek ze serveru
unlink ($Nazev_obrazku);
echo "Obrázek je moc velký!";
}

Já to teda používám spíš na typ obrázku (ono to chvíli trvá, ale když napíšu velkýma písmenama několikrát že povoluju jenom gif a jpg tak ať si ty lidi počkaj :-) ) a když je obrázek větší tak ho nějakou jinou funkcí předělám na menší.
Astro
Profil *
děkuju moc...!! :-) funguje
Toto téma je uzamčeno. Odpověď nelze zaslat.

0