Autor Zpráva
Gappa
Profil
Ahoj,

řeším problém, jak zjistit velikost souboru před tím, než dojde k jeho nahrání na server. Po jeho nahrání zjistit jeho velikost umím, to je ale trochu pozdě, protože uživatel už strávil čas uploadem a pak mu to napíše, že je soubor moc velký - což je dosti nepříjemné a nepotěší.

Pokud možno nějakou magickou kombinací PHP/JS/HTML :-)

Google nebyl v tomto ohledu moc nápomocný - lidí se na to ptá dost, ale odpovědi jsou většinou zamítavé/nefukční nebo žádné.

Proto se ptám, jestli existuje nějaký způsob, jak zjistit onu velikost dříve a ošetřit tak vstup?

Díky
jonge
Profil
Je to možná trošku OT, ale proč nenapíšeš k formuláři:
Maximální velikost souboru k uploadu: xxx kB
???

Myslím že lidi ví, jak je soubor veliký. Pokud uploadnou větší tak je to jejich blbost... :)
Gappa
Profil
Neboj, to tam mám :) Ale co když někdo neví, jak ten soubor je veliký, nebo nemá tuchy, co to vůbec nějaká velikost je :)

Jde mi jak o uživatelský komfort, tak to o to, aby se na server neuploadovalo něco, co se stejně ve výsledku zahodí.
Palec
Profil *
Myslím, že řešení tohoto problému na straně klienta by mohlo být možné pouze v IE přes ActiveX komponenty (ale netuším, jestli opravdu je). JavaScript se soubory neumí pracovat vůbec (byl navržen tak, aby neuměl) a HTML je umí jenom předat k odeslání přes input type="file".
S trochou alchymie by to šlo kombinací JS+PHP, ale toto řešení vyžaduje možnost doinstalovat do PHP serveru rozšíření PECL. Nevím o tom víc, než je napsáno v komentářích u PHP manuálu. Kromě toho nalinkovaného by mohl posloužit i následující.
Anonymní
Profil *
Palec: javascript se soubor pracovat umí, sice omezeně, ale umí. Je např. schopen z lokálního disku načíst obrázek, zobrazit jeho náhled, i zjistit jeho rozlišení. Stačí mrknout na databáze scriptů např. na hotscripts.com.
Mastodont
Profil
co když někdo neví, jak ten soubor je veliký, nebo nemá tuchy, co to vůbec nějaká velikost je

Mně to připomíná nápisy na mikrovlnkách "v tomto zařízení se nesmí sušit živá zvířata" ... proč se pořád snažit ustupovat těm duševně slabším?
Toto téma je uzamčeno. Odpověď nelze zaslat.