Autor Zpráva
Slávek
Profil *
Prosím vás,
je nějak možné nastavit v php.ini (hodntou upload_max_filesize nebo podobnými) nebo kdekoliv jinde to, aby se při dosažení určené velikosti upload zastavil? Mám nastaveno na localhostu upload_max_filesize = 2M (klasika), ostatní (memory a post) na 8M. No a když vyzkouším uploadovat soubor o velikosti třeba 700MB, zdá se mi, že upload probíhá i po přesažení 8 mega, jelikož to prostě trvá dlouho. Jasně, že se soubor neuloží, protože přesahuje povolenou velikost. Ale uploaduje se celý. Já bych potřeboval, aby při dosažení těch 8 mega (nebo 2M) přestal pracovat a vyhodil chybu třebas.
Děkuji :)
Kalby
Profil
trebas takhle:


$pole=$_FILES['image'];
define ("MAX_SIZE","500");
$size=filesize($pole['tmp_name']);
if ($size > MAX_SIZE*1024) {
echo '<h1>Příliš velký obrázek! (povolená velikost je 500kb)</h1>';
$errors=1;

}

kdyz by jsi chtel rovnou ukoncit skript misto $errors napis rovnou exit;
DoubleThink
Profil *
Kalby
Má to jednu chybu. PHP script je interpetován až po dokončení požadavku, tedy v době, kdy je soubor kompletně uploadovaný. Kromě toho, na každém slušném serveru ti tebou naznačené použití filesize() hodí "přístup nepovolen".

Překročení post_max_size se navíc projeví zahozením celých POST dat.

Přerušit upload ve fázi odesílání požadavku může jenom HTTP server - viz třeba direktiva LimitRequestBody.
Slávek
Profil *
DoubleThink děkuji velice! LimitRequestBody je přesně to co jsem hledal! :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0