Autor | Zpráva | ||
---|---|---|---|
Slávek Profil * |
#1 · Zasláno: 9. 12. 2008, 22:51:39
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 |
#2 · Zasláno: 9. 12. 2008, 23:04:11 · Upravil/a: Kalby
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 * |
#3 · Zasláno: 9. 12. 2008, 23:24:40 · Upravil/a: DoubleThink
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 * |
#4 · Zasláno: 11. 12. 2008, 19:01:10
DoubleThink děkuji velice! LimitRequestBody je přesně to co jsem hledal! :-)
|
||
Časová prodleva: 15 let
|
0