Autor | Zpráva | ||
---|---|---|---|
CZKoS Profil * |
#1 · Zasláno: 4. 3. 2009, 11:59:03
Ahoj,
vytvářím upload souborů pomocí php. Kontrolu velikosti souboru provádím jak <INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="1000000" /> tak i v php. Budu uploadovat více souborů. Vše funguje jak má do doby, kdy soubory dají dohromady velikost větší jak 20MB ( nejsem si jist přímo 20MB ale 25MB už nejde ). Při velikosti >20MB skript na chvíli zamrzne a poté "restartuje" bez jakékoliv chyby. V php.ini mám upload_max_filesize = 32M , v logu apache jsem nic nenašel. Už nevím jak tohle ošetřit, proto prosím o jakoukoliv radu. Předem děkuju 8o) |
||
SwimX Profil |
#2 · Zasláno: 4. 3. 2009, 12:05:58
CZKoS
nemůže to být tím, že skript trvá moc dlouho a ty máš omezenou dobu běhu skriptu? |
||
CZKoS Profil * |
#3 · Zasláno: 4. 3. 2009, 12:24:17
SwimX
Nevím na kolik jí mám omezenou, ale skript se "restartuje" už po 10sec a to je myslím hodně málo |
||
CZKoS Profil * |
#4 · Zasláno: 4. 3. 2009, 12:25:49
Tak mám v php.ini toto:
max_execution_time = 60 max_input_time = 60 memory_limit = 32M |
||
Mike8748 Profil |
#5 · Zasláno: 4. 3. 2009, 12:38:18
CZKoS
a hodnota post_max_size ? jinak, memory limit nema s uploadem nic spolecnyho je mozny ze mas pomalej upload a za 60 vterin (max_input_time) se nestihne prenest ten soubor |
||
CZKoS Profil * |
#6 · Zasláno: 4. 3. 2009, 12:45:16
Mike8748
post_max_size = 16M To by mohlo být ono. Potřebuji ale aby se mi při jakémkoliv souboru větším jak 1MB zobrazila chyba "Soubor je větší než 1MB". Pokud zvětším post_max_size třeba na 50M, tak bude zase problém se soubory >50, jak tohle ochránit? *rychlost přípojení = http://cache.rychlost.cz/?r=200908133006 |
||
bohyn Profil |
#7 · Zasláno: 4. 3. 2009, 13:05:27
CZKoS
Mrkni na tehle link do manualu, treba ti pomuze |
||
CZKoS Profil * |
#8 · Zasláno: 4. 3. 2009, 19:31:29
Tak jsem to alespoň trochu ošetřil. Pokud by někdo řešil to samé, doporučuji přečíst:
http://www.phpbuilder.com/board/showthread.php?t=10361513 http://cz.php.net/manual/en/features.file-upload.errors.php http://forums.digitalpoint.com/showthread.php?t=274687 Problém je v tom, když se uploadují soubory větší než jsou nastavené limity v php.ini, php automaticky ukončí skript a smažou se i $_POST proměnné. PHP nezobrazí žádnou chybu a jediný způsob jak zjistit, že došlo k chybě je kontrolou $_SERVER['CONTENT_LENGHT'] ( + případně jestli je v $_POST prázdné pole ). Takhle jsem to pochopil. Prozatím jsem nastavil limity tak, aby bylo možno nahrát soubory + něco navíc a při této chybě zobrazím chybovou hlášku, doposud vyplněný formulář je ale bohužel ztracený. |
||
Časová prodleva: 15 let
|
0