NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Handle neúspěšně POSTnutého souboru

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar

Člen
Avatar
:7.9.2017 16:35

Zdravím,
mám dotaz ohledně zaregistrování, že se upload souboru, který se uploaduje přes formulář (POST) nezdařil. Konkrétně se mi jedná o případ, kdy uploadovaný soubor překročí maximální PHP limit pro velikost POSTu, kdy v takovém případě celý POST je ignorován a všechna jeho pole nejsou odeslána. PHP pak vůbec neví, že se uživatel něco pokusil odeslat, takže ani nemůžu vypsat smysluplnou chybu o tom, že se pokouší nahrát moc velký soubor (protože tuto situaci neodliším od té, když nic neodesílá).
Zvýšení limitu není to, na co se ptám.

 
Odpovědět
7.9.2017 16:35
Avatar
Jiří Fencl
Člen
Avatar
Jiří Fencl:7.9.2017 18:03

Ahoj,
v php si do promenne nactes maximalni velikost nebo stanovis mensi a pak jednoduse :

$maxsize = limit-nebo-mensi; /* ja pouzivam velikost v kB */
// File size check
if( ( $_FILES[ $tfiles_name ]["size"] / 1024 ) > $maxsize ){
  $tempret["status"] = false;
  $tempret["status_desc"] = "size limit (".$_FILES[$tfiles_name]["size"]."/".$maxsize.")  ";
  return $tempret;
}
Editováno 7.9.2017 18:03
 
Nahoru Odpovědět
7.9.2017 18:03
Avatar

Člen
Avatar
Odpovídá na Jiří Fencl
:8.9.2017 0:36

S tím úplně nesouhlasím, protože v případě překročení limitu PHP se mi ve $_FILES nic neobjeví, stejně jako POST je prázdný. Pořád by tak detekce podléhala nahrávání hodně velkého souboru na web a až následné vyhodnocování.

 
Nahoru Odpovědět
8.9.2017 0:36
Avatar
Jiří Fencl
Člen
Avatar
Jiří Fencl:8.9.2017 9:27

Tak si to osetri v javascriptu pred odeslanim formulare - vypadalo to, ze takovou kontrolu uz mas

 
Nahoru Odpovědět
8.9.2017 9:27
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.