Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Upload více souborů na web  (Přečteno 8708 krát)

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Upload více souborů na web
« kdy: 03 Ledna 2009, 12:20:09 »
Zdravím,

potřeboval bych nějaké jednoduché řešení pro upload více souborů na web "na jedno kliknutí". Tedy asi nejspíš nějaký Java applet.
Nechci to strkat na ftp, ideální by bylo, kdyby se data opakovaně (každý soubor zvlášť) odesílala na http server, který by je pak zpracoval stejně, jako kdyby byla odeslána přes běžný formulář.
Neviděli jste někde něco takového? Případně alespoň nějaký základ, který by se dal dodělat.
S Javou zatím nemám žádné zkušenosti, zato roky s C/C++.

Díky...

DuckD

  • Stálý člen
  • **
  • Příspěvků: 878
  • Open Srdcař
    • www.duckd.cz
Re: Upload více souborů na web
« Odpověď #1 kdy: 03 Ledna 2009, 12:28:20 »
Java applet? Nemyslíš Javascript? Uděláš to podobně jako je zde na fóru dělaná anketa (dynamické přidávání inputů).
8) Lidé žijí v souborech. ===>> LINUXTERO <<=== Pravidelná dávka tvého linuxtera!

Tomáš Jančík

  • Stálý člen
  • **
  • Příspěvků: 1179
    • TomášJančík.net
Re: Upload více souborů na web
« Odpověď #2 kdy: 03 Ledna 2009, 12:45:21 »
nepochopil jsem úplně přesně, jestli to chceš mít jako webovou stránku, pak
http://www.google.com/search?hl=en&q=php+upload+script&btnG=Search nebo
http://www.google.com/search?hl=en&q=php+upload+script+site%3Acz&btnG=Search

a nebo jak nějaký program/script, který by ty soubory odeslal na vzdálený server, pak je možností více...
scp, netcat nebo snad i nějaký ftp program...

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Upload více souborů na web
« Odpověď #3 kdy: 03 Ledna 2009, 13:03:57 »
Java applet? Nemyslíš Javascript? Uděláš to podobně jako je zde na fóru dělaná anketa (dynamické přidávání inputů).
Javascript na to sám nestačí: odeslat více souborů v rámci jednoho requestu je sice fajn, ale naráží na omezení objemu odeslílaných dat, nemluvě o časové náročnosti zpracování mnoha souborů v jenom běhu php skriptu (na straně serveru). Navíc javascript nemůže (z bezpečnostních důvodů) změnit hodnotu inputu typu file, takže ani varianta opakovaného odesílání formuláře pokaždé s novými daty není touto cestou průchozí.

Tomáš Jančík

  • Stálý člen
  • **
  • Příspěvků: 1179
    • TomášJančík.net
Re: Upload více souborů na web
« Odpověď #4 kdy: 03 Ledna 2009, 13:13:15 »
a co nastavit php delší dobu pro běh?
http://cz.php.net/set_time_limit

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Upload více souborů na web
« Odpověď #5 kdy: 03 Ledna 2009, 13:15:19 »
a co nastavit php delší dobu pro běh?
http://cz.php.net/set_time_limit
Jasně, ale tak či tak - dříve či později může nastat situace, kdy toho času bude málo.

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Upload více souborů na web
« Odpověď #6 kdy: 03 Ledna 2009, 13:23:43 »
scp, netcat nebo snad i nějaký ftp program...
Ano, to by sice bylo řešení, ale mě by se víc líbilo něco takového:
Uživateli se "na stránce" aktivuje dialog, s jehož pomocí a) zadá nějaké údaje společné pro všechny odesílané soubory a b) vybere n souborů, případně celý adresář. Tento script poté začne postupně odesílat jednotlivé soubory na http server (podobně, jako to jde např. v php pomocí soketů) s tím, že před odesláním dalšího souboru hezky počká na zpracování předešlého.
Takže, když to přeženu, vybereš milion fotek, ťukneš na "odeslat" a jedeš na měsíc na dovolenou. A ono to mezitím odesílá, odesílá a odesílá...
Z hlediska serveru by se to mělo tvářit úplně stejně, jako kdyby u toho někdo seděl a uploadoval jeden soubor za druhým prostřednitvím klasického formuláře. Tedy žádné ftp nebo jiný způsob ukládání souborů někam do filesystému serveru, ale postupné zpracovávání každého jednoho souboru za druhým.

Tomáš Jančík

  • Stálý člen
  • **
  • Příspěvků: 1179
    • TomášJančík.net
Re: Upload více souborů na web
« Odpověď #7 kdy: 03 Ledna 2009, 13:24:52 »
a co nastavit php delší dobu pro běh?
http://cz.php.net/set_time_limit
Jasně, ale tak či tak - dříve či později může nastat situace, kdy toho času bude málo.

a kolik bys toho času asi tak potřeboval??? nastavit time limit na řekněme celý den a pak to nechat prostě běžet...

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Upload více souborů na web
« Odpověď #8 kdy: 03 Ledna 2009, 13:27:22 »
a kolik bys toho času asi tak potřeboval??? nastavit time limit na řekněme celý den a pak to nechat prostě běžet...
To je právě to, že a) dopředu nikdy nevím a b) překročení time limitu bych se rád vyhnul tím, že to rozkouskuji.
Nejde o to, jak tam ty soubory dostanu já, ale běžný (registrovaný) uživatel webu.

Tomáš Jančík

  • Stálý člen
  • **
  • Příspěvků: 1179
    • TomášJančík.net
Re: Upload více souborů na web
« Odpověď #9 kdy: 03 Ledna 2009, 13:28:12 »
scp, netcat nebo snad i nějaký ftp program...
Ano, to by sice bylo řešení, ale mě by se víc líbilo něco takového:
Uživateli se "na stránce" aktivuje dialog, s jehož pomocí a) zadá nějaké údaje společné pro všechny odesílané soubory a b) vybere n souborů, případně celý adresář. Tento script poté začne postupně odesílat jednotlivé soubory na http server (podobně, jako to jde např. v php pomocí soketů) s tím, že před odesláním dalšího souboru hezky počká na zpracování předešlého.
Takže, když to přeženu, vybereš milion fotek, ťukneš na "odeslat" a jedeš na měsíc na dovolenou. A ono to mezitím odesílá, odesílá a odesílá...
Z hlediska serveru by se to mělo tvářit úplně stejně, jako kdyby u toho někdo seděl a uploadoval jeden soubor za druhým prostřednitvím klasického formuláře. Tedy žádné ftp nebo jiný způsob ukládání souborů někam do filesystému serveru, ale postupné zpracovávání každého jednoho souboru za druhým.

to by snad nějak šlo použitím AJAXu...
nicméně pokud jde o upload pouze fotek, zdálo by se mi lepší nahrát je v jediném zazipovaném souboru... pak to na serveru rozbalit a zpracovat

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: Upload více souborů na web
« Odpověď #10 kdy: 03 Ledna 2009, 13:32:09 »
Pokud vím, tak tohle se dělá pomocí flashe, dosti pochybuji, že by se to podařilo nějak jednoduše napsat pomocí jscriptu ...
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Upload více souborů na web
« Odpověď #11 kdy: 03 Ledna 2009, 13:35:26 »
Pokud vím, tak tohle se dělá pomocí flashe, dosti pochybuji, že by se to podařilo nějak jednoduše napsat pomocí jscriptu ...
Ale já nemluvil o Javascriptu, mě to ukazuje na Javu - nějaký Java applet nebo něco, co s spouští "na stránce" nebo tak něco.

Tomáš Jančík

  • Stálý člen
  • **
  • Příspěvků: 1179
    • TomášJančík.net
Re: Upload více souborů na web
« Odpověď #12 kdy: 03 Ledna 2009, 13:39:33 »
s AJAXem mám teprve v plánu se učit, takže si nejsem jistej, ale myslím že tím by to fakt mohlo jít...
s javou ani flashem nemám žádné zkušenosti, takže neporadím... ale vím že pomocí javy je řešeno nahrávání fotek na facebooku

Martin - ViPEr*CZ*

Re: Upload více souborů na web
« Odpověď #13 kdy: 03 Ledna 2009, 13:46:56 »
No zatím jsem to nikde neviděl.... seznam a příloha.... vždy musíš kliknout otevřít dialog a vložit jen jeden soubor.... xchat a fotoalbum.... taktéž... lide.cz po jednom.... a je toho spousta.... když jsem viděl tak vždy externí aplikace co to řešila po více než po jednom.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: Upload více souborů na web
« Odpověď #14 kdy: 03 Ledna 2009, 13:54:38 »
externí aplikace - java aplet, nebo flash :)

Obávám se, že jiné řešení to nemá. Tedy ... má, lze samosebou udělat pole odesílaných souborů, ale dojde k přetečení čítače - ani ne tak časového (protože PHP script se spustí až PO dokončeném POSTu), jako limitu POST upload, ovšem v takovém případě půjde vybrat jen jeden soubor po druhém. Obsah adresáře by se snad dal přes JS vyřešit.
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Upload více souborů na web
« Odpověď #15 kdy: 03 Ledna 2009, 14:12:35 »
externí aplikace - java aplet, nebo flash ... Obsah adresáře by se snad dal přes JS vyřešit.

No však, java applet nebo něco takového (ale do flashe se mi moc nechce) - o tom tady od počátku píšu. Ať mi nikdo neříká, že kdyby to takhle šlo udělat, že se to někde nedá sehnat, že to ještě nikdo nikde neviděl. Ledaže by to appletem nešlo, což také nemohu vyloučit, neboť pokud applet běží v "kontextu jiného programu (webového prohlížeče...)" a tento "hostitelský program (kontejner) mu omezuje přístup k některým funkcím", jak se o tom píše na Wikipedii, nemusí to jít ani touto cestou. Pak by tedy zbývala pouze nějaká samostatná aplikace...

Mimochodem, obsah adresáře přes js asi vyřešit nepůjde: při pokusu změnit pomocí js atribut value inputu typu file to hází chybu - z bezpečnostních důvodů to zkrátka nejde. A jinou cestu, jak se z prohlížeče (tedy bez externí aplikace) dostat k lokálním souborům, neznám.

Tomáš Jančík

  • Stálý člen
  • **
  • Příspěvků: 1179
    • TomášJančík.net
Re: Upload více souborů na web
« Odpověď #16 kdy: 03 Ledna 2009, 14:15:18 »
java appletem to půjde... je tak řešeno nahrávání fotek např. na facebook.com a nebo i internetové bankovnictví od KB si nahrávalo certifikát z disku uživatele a bylo to řešení přes javu

Martin - ViPEr*CZ*

Re: Upload více souborů na web
« Odpověď #17 kdy: 03 Ledna 2009, 14:25:26 »
externí aplikace - java aplet, nebo flash :)

Obávám se, že jiné řešení to nemá. Tedy ... má, lze samosebou udělat pole odesílaných souborů, ale dojde k přetečení čítače - ani ne tak časového (protože PHP script se spustí až PO dokončeném POSTu), jako limitu POST upload, ovšem v takovém případě půjde vybrat jen jeden soubor po druhém. Obsah adresáře by se snad dal přes JS vyřešit.
Jj... já myslel externí aplikací...jako samostatnou aplikaci (C/C++ apod.). Ve flashi to možná jde. Javu neovládám.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Upload více souborů na web
« Odpověď #18 kdy: 03 Ledna 2009, 14:27:39 »
java appletem to půjde... je tak řešeno nahrávání fotek např. na facebook.com a nebo i internetové bankovnictví od KB si nahrávalo certifikát z disku uživatele a bylo to řešení přes javu

No, jeden soubor určitě (KB). Nějaký omezený počet souborů určitě taky (v jednom requestu). Facebook neznám, nemám tyhlety věci zrovna moc rád a abych se tam kvůli tomu registroval... V HTML5 jde také vybrat více souborů najednou a odeslat je, jenže to opět naráží na limity - jak datové, tak časové.

Máte tedy s hromadným uploadem ala Facebook někdo nějaké zkušenosti? A hlavně - tušíte, jak se to dělá? A pokud je to tím způsobem, co myslím - tedy odeslat soubor, počkat, až ho server zpracuje, odeslat další - nějaký příkládek by nebyl? :-)

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Upload více souborů na web
« Odpověď #19 kdy: 03 Ledna 2009, 14:31:23 »
Jj... já myslel externí aplikací...jako samostatnou aplikaci (C/C++ apod.). Ve flashi to možná jde. Javu neovládám.

Jasně, napsat samostatný program, který si uživatel stáhne, nainstaluje a koná, to by pochopitelně šlo. A jistě i v té Javě (se kterou ovšem zatím nemám nejmenší zkušenosti), aby to běželo jak na linuxu, tak na woknech a pod. Ale ten applet mi připadá elegantnější.

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: Upload více souborů na web
« Odpověď #20 kdy: 03 Ledna 2009, 14:39:09 »
Ve flashi to jde a používá to třeba aplikace WordPress
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Upload více souborů na web
« Odpověď #21 kdy: 03 Ledna 2009, 14:53:40 »
Ve flashi to jde a používá to třeba aplikace WordPress
A nedělá to WP náhodou tak, že odesílá soubory na ftp? Nevím, WP nepoužívám, tak se jen ptám...

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: Upload více souborů na web
« Odpověď #22 kdy: 03 Ledna 2009, 15:40:04 »
A nedělá to WP náhodou tak, že odesílá soubory na ftp? Nevím, WP nepoužívám, tak se jen ptám...

Co jsem měl možnost v poslední počeštěné verzi vidět, tak nikolivěk ...
Dle mého ten flash prostě bere jeden soubor po druhém a přes klasický POST je předá serveru ke zpracování.
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: Upload více souborů na web
« Odpověď #23 kdy: 04 Ledna 2009, 16:32:23 »
Co jsem měl možnost v poslední počeštěné verzi vidět, tak nikolivěk ...
Dle mého ten flash prostě bere jeden soubor po druhém a přes klasický POST je předá serveru ke zpracování.

Koukám na to, vypadá to zajímavě...

 

Provoz zaštiťuje spolek OpenAlt.