Autor Zpráva
deryl
Profil *
Dobrý den,
mám následující problém. Mám upload souboru a na hostingu je nastaveni upload_max_filesize na 2M. A já když dam uploadovat větší soubor, než 2mb, tak chci, aby se script ukončil a vypsal chybovou hlášku. Ovšem tady je problém, že když uploaduju soubor větší než 2mb, tak trvá strašně dlouho, než se vůbec něco stane. Zkoušel jsem:
<form action="" method="post" enctype="multipart/form-data">
 <input type="file" name="soubor" /><input type="submit" name="submit" value="nahrat" />
</form>

<?
if(isset($_POST['submit'])){
 echo filesize($_FILES['soubor']['tmp_name']);
}
?>

Ale při nahrání většího souboru než jsou 2mb, tak to za prvý trvá strašně dlouho, než se něco stane a hlavně to nevypíše nic. Nevíte čim to je? Jestli hostingem, nebo jestli se dá ta velikost kontrolovat nějak jinak, aby to bylo rychlejší? Díky
fajzen
Profil
Veľkosť uploadovaného súboru sa dá zistiť až po jeho nahratí na server. Taktiež PHP skript sa vykoná až po nahratí súboru- preto "trvá strašně dlouho, než se něco stane". A keďže sa pokúšate nahrať súbor väčší ako je limit, server pravdepodobne ukončí spojenie (alebo také niečo), a nič sa nevypíše...

Riešenie čisto cez PHP nie je (ak sa mýlim, rád sa nechám poučiť). Mohol by pomôcť JavaScript a upload súborov cez Ajax (tuším sa to robí cez skrytý iframe), potom by sa dalo nejak ošetriť, keď server nevráti požadovanú odpoveď (ale tiež sa nedá zaručiť, že chybou bola určite veľkosť súboru).

Zdá sa mi, že vo Firefoxe má input s typom file po vybratí súboru vlastnosť, teraz neviem ako sa presne volá, ktorá má ako hodnotu veľkosť vybratého súboru. Ale pochybujem, že to ide aj v ostatných prehliadačoch

Edit: názov tej vlastnosti je naozaj prekvapivá: size :)
king26
Profil
tohle snad napoví více :)
http://php.vrana.cz/velikost-nahravanych-souboru.php

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: