Autor Zpráva
CZKoS
Profil *
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
CZKoS
nemůže to být tím, že skript trvá moc dlouho a ty máš omezenou dobu běhu skriptu?
CZKoS
Profil *
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 *
Tak mám v php.ini toto:
max_execution_time = 60
max_input_time = 60
memory_limit = 32M
Mike8748
Profil
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 *
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
CZKoS
Mrkni na tehle link do manualu, treba ti pomuze
CZKoS
Profil *
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ý.

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: