[addon multiplefileupload] MultipleFileUpload – form control
- despiq
- Člen | 320
pokud si dobre pamatuju tak na linuxu je problem s flashem,
zkus jestli ti jde uploadify demo
http://www.uploadify.com/demo/
- Honza Kuchař
- Člen | 1662
No pozor vůbec na snippety, ve verzi 1.0 je ten algoritmus na snippety značně jiný. Ale pokud vím, tak v Nette 1.0 je stále podpora i pro staré snippety.
- RadH
- Člen | 23
pracj3am napsal(a):
Demo nefunguje v Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.19) Gecko/2010033100 Iceweasel/3.0.6 (Debian-3.0.6–3)
Pouze tlačítko „Odeslat“, které po kliknutí nic nedělá.
Na linuxu (Ubuntu) jede demo http://www.uploadify.com/demo/ bez problémů.
Test na http://multiplefileupload.projekty.mujserver.net/ proběhl také bez problémů.
Linux = no problem :)
Testováno na:
Mozilla/5.0 (X11; U; Linux i686; cs-CZ; rv:1.9.1.9) Gecko/20100401 Ubuntu/9.10 (karmic) Firefox/3.5.9 FirePHP/0.4
Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99
- Honza Kuchař
- Člen | 1662
Gaudentius napsal(a):
Ahoj, ještě jsem se chtěl zeptat, když vyberu obrázky, dám uložit, tak se mi občas u daného obrázku objeví IO Error – co je příčinou? Díky
Také bych rád věděl. :(
- Vyki
- Člen | 388
Tak se mi podařilo napasovat na MFU SWFUpload driver místo uploadify. Online demo je zde. Zdá se mi to spolehlivější než uploadify a hlavně o mnoho variabilnější. Na adrese http://demo.swfupload.org/v250beta3/ se můžete mrknout co všechno tato JS/SWF komponenta dokáže. V poslední beta verzi už je dokonce i podpora pro zmenšování obrázků na straně klienta. V podstatě jediné co jsem v MFU měnil byla šablona. Zatím jsem neřešil validace a pokročilé funkce, které tato hračička dokáže. Až se mi to podaří doladit dám to sem ke stažení.
Editoval Vyki (24. 7. 2010 0:45)
- regiss
- Člen | 61
Vyki napsal(a):
Tak se mi podařilo napasovat na MFU SWFUpload driver místo uploadify. Online demo je zde. Zdá se mi to spolehlivější než uploadify a hlavně o mnoho variabilnější. Na adrese http://demo.swfupload.org/v250beta3/ se můžete mrknout co všechno tato JS/SWF komponenta dokáže. V poslední beta verzi už je dokonce i podpora pro zmenšování obrázků na straně klienta. V podstatě jediné co jsem v MFU měnil byla šablona. Zatím jsem neřešil validace a pokročilé funkce, které tato hračička dokáže. Až se mi to podaří doladit dám to sem ke stažení.
Jo to vypada dost dobre, nechces udelat addon :)
- Honza Kuchař
- Člen | 1662
Počkejte s tím dalším addonem. V MFU je v plánu podpora driverů na straně klienta (Uploadify, swfupload, …) Pokud se to stane jedním z driverů, tak to bude mnohem přehlednější.
P.S.: Ten swfupload se mi tady chová tedy také dost zmateně.
- Vyki
- Člen | 388
Já to neměl ani v plánu dávat do addons. Chtěl jsem jen ukázat, že implementovat SWFUpload driver je docela jednoduchá věc. Zajímalo by mě jak chceš obecně vymyslet tu podporu více driverů na straně klienta. Každý z těch driverů je docela speficický, teď mám namysli zrovna Plupoload, který při komunikaci se skriptem očekává JSON response. Také každý z těch driverů umí různé věci, některé zmenšování fotek, některé odesílání po více vláknech a každý z nich k tomu přistupuje úplě jinak. Jde o to, že by každý z nich měl s MFU poskytovat stejné funkce a pohodlí jako při samostatné implementaci bez MFU. Myslím, že to bude docela fuška.
P.S.: V čem ti ten swfupload blbne? Zatím jsem to testoval na FF, IE8, IE6 a běhalo to v pohodě.
Editoval Vyki (24. 7. 2010 11:49)
- Honza Kuchař
- Člen | 1662
Asi takto, MFU si hlídá jen příjem souborů, který funguje tak, že každý driver na straně klientské má i svou serverovou část. Každá serverovo-klientská část má svou konfiguraci. Jinak to samozřejmě nejde. Pokusím se udělat nějou jednoduchou implementaci, nemělo by to být nic složitého.
V čem to blbne?
Ono to není ani problém swfuploadu, ale spíš neintegrace s formulářem, který přáve MFU+uploadify řeší. Tzn. kliknu na odeslat a formulář se fyzicky odešle, až se oduploudují VŠECHNY soubory. To ti se swfuploadem nefunguje. Ale když se podíváš, jak je to uděláno v MFU, tak zjistíš, že je to docela jednoduché.
- Honza Kuchař
- Člen | 1662
To IO Error opravdu nevím co způsobuje a pěkně mě to štve, protože opravdu nevím co s tím. Asi přejít na ten swfupload.
- RDPanek
- Člen | 189
Ještě bych se zeptal – mám malý problém, pokud tovarnicku nacitam z podsablony:
{include 'dir/file.phtml'}
stav je takovy, ze vse probiha tak jak ma, ale uz jako by se mi neprovedl snippet – proste nedostanu vysledek., tzn. prijato tolik souboru a pod. V cem by mohl byt problem? Díky
Editoval Gaudentius (27. 7. 2010 19:09)
- Honza Kuchař
- Člen | 1662
Ano, bez flash playeru by to mělo udělat přesně to, co jste popsal. Je to bug.
- RDPanek
- Člen | 189
Ahoj, mám menší problém se snippety ve spojitosti s tímto rozšířením. Mám aplikaci, kde používám toto rozšíření na dvou místech aplikace – na jednom místě používámj pro nahrávání fotografií a na druhém místě pro nahrávání videí (zatím nahrávám fotky i druhým rozšířením) https://forum.nette.org/…razdnym-json?…
- Honza Kuchař
- Člen | 1662
Nejspíš něco se zavináči. Ale předem říkám, že je to doplněk pro Nette 0.9.x a zatím nebyl testován pro Nette 1.0. Takže chybka se může vyskytnout i zde.
- Honza Kuchař
- Člen | 1662
Prosím, ještě tam doplň revizi, ať je ten údaj o funkčnosti kompletní.
//EDIT: Díky, dokumentace se odkazuje na tvůj příspěvek.
Editoval Honza Kuchař (6. 8. 2010 9:17)
- Honza Kuchař
- Člen | 1662
Nahoď xdebug a krokuj. Případně projdi logy a najdi, na kterém řádku to dělá. Jinak ti neumím poradit.
- Honza Kuchař
- Člen | 1662
Gaudentius napsal(a):
a apk ještě dostávám chybu: Class ‚SQLiteDatabase‘ not found i když používám mysql?!?
Podívej se do driveru, který doopravdy používáš.
- RDPanek
- Člen | 189
ještě mám náhled do logu hostingu:
[04/Aug/2010:23:37:13 +0200] "POST /aplikace/multimedia/detail-photo/?do=photoForm-submit HTTP/1.1" 500 93432
zjistil jsem, že hosting má zapnutý safe_mode – to by mohlo být ono – zkusím je požádat o vypnutí…
Editoval Gaudentius (4. 8. 2010 23:45)
- Honza Kuchař
- Člen | 1662
safe_mode je v pohodě. U mě na serveru je taky. Ale evidentně jsi nepochopil k čemu jsou tam ty drivery (ovladače) k jednotlivým databázím. Jedna používá SQLite (výchozí) a ta druhá Dibi (kterákoli db tě napadne). Stačí si je jen nakonfigurovat.
- RDPanek
- Člen | 189
v config.ini mám:
database.driver = mysql
...
...
v boostrat
dibi::connect((array)Environment::getConfig('database'));
a o pár řádku níže v tntýž souboru, tedy v bootstrapu
MultipleFileUpload::register();
MultipleFileUpload::$queuesModel = new MFUQueuesDibi();
a tabulkua files v MySql e prázdná…
takže je konfigurace ještě jinná?
Stále mi políčko, které ukazuje proběh nahrávání – po nahrání
nezmizí a ukáže HTTP Error
Editoval Gaudentius (5. 8. 2010 13:10)
- Honza Kuchař
- Člen | 1662
Možná stará revize MFU? Zkus prostě krokovat. I na localhostu se ti to musí ukládat do té tabulky, jinak je něco špatně.
- RDPanek
- Člen | 189
Nene, nyní jsem stáhnul aktuální verzi z repozitáře – na localu v pohodě (tabulka sice prázdná, ale na autoincrement je nastaven na 8, takže se tam něco děje) – na serveru HTTP Error – ale co jsem zjistil ještě z logu:
[05-Aug-2010 20:05:18] PHP Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 1628 is not allowed to access /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/app/temp/uploads-MFU owned by uid 33 in /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/libs/Nette/Web/HttpUploadedFile.php on line 170
[05-Aug-2010 20:05:18] PHP Fatal error: Uncaught exception 'InvalidStateException' with message 'Unable to move uploaded file '/tmp/php/phpMiDQDl' to '/home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/document_root/../app/temp/uploads-MFU/upload-4313317554c5afd4aed210-4c5afd5e8c109.tmp'.' in /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/libs/Nette/Web/HttpUploadedFile.php:171
Stack trace:
#0 /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/app/controls/MultipleFileUpload/Models/SQLite/MFUQueueSQLite.php(19): HttpUploadedFile->move('/home/users/nas...')
#1 /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/app/controls/MultipleFileUpload/MultipleFileUpload.php(176): MFUQueueSQLite->addFile(Object(HttpUploadedFile))
#2 /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/app/controls/MultipleFileUpload/MultipleFileUpload.php(197): MultipleFileUpload::processFile('4313317554c5afd...', Object(HttpUploadedFile))
#3 /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/app/controls/MultipleFileUpload/MultipleFileUpload.php(140): MultipleFileUpload::proccessUploadifyFiles()
#4 [internal function]: MultipleFileUpload::handleUploads(Object(Application))
#5 /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/libs/Nette/Callback.php(120): call_user_func_array('MultipleFileUpl...', Array)
#6 /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/libs/Nette/ObjectMixin.php(58): Callback->invokeArgs(Array)
#7 /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/libs/Nette/Object.php(93): ObjectMixin::call(Object(Application), 'onStartup', Array)
#8 [internal function]: Object->__call('onStartup', Array)
#9 /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/libs/Nette/Application/Application.php(101): Application->onStartup(Object(Application))
#10 /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/app/bootstrap.php(99): Application->run()
#11 /home/users/nashosting/zzslk.nashosting.cz/web/_nette_multiple/document_root/index.php(13): require('/home/users/nas...')
#12 {main}
takže funkce move_upload_file() je zakázána – zkusil jsem požádat hosting o povolení – dáli mi pán bůh již klidného stáří v 25 letech, tak to bude ono…
- Honza Kuchař
- Člen | 1662
Používám Netbeansy, ale pokud
- se ti v té tabulce nic neobjevuje, máš špatně driver. (v callstacku máš MultipleFileUpload/Models/SQLite/MFUQueueSQLite.php(19), tak mi netvrď, že máš DibiDriver) Podívej se do zdrojáků, myslím, že je to více než jasné.
- Ta hláška s move_uploaded_file je v pořádku. To hlásí na každém hostingu, pokaždé, když přesouváš soubor podruhé. Podívej se do zdrojáků Nette, konkrétně HttpUploadedFile->move(). Evidentně používáš nějakou histrorickou verzi Nette, podívej se do dokumentace MFU, je tam napsané, co pro kterou verzi Nette musíš udělat, aby MFU fungovalo.
- Honza Kuchař
- Člen | 1662
Hele, asi takto. Zkus nejdříve zprovoznit MFU s výchozím driverem (SQLite), který používám pro vývoj a až ti to pojede, tak přehoď na DibiDriver a hledej chyby.
Ale 0 přijatých souborů znamená, že driver pro daný token nemá uložený žádný soubor, což je divné.
- RDPanek
- Člen | 189
No když to chci zprovoznit na SQLite
[06-Aug-2010 22:27:30] PHP Fatal error: Class 'SQLiteDatabase' not found in /web/_nette_multiple/app/controls/MultipleFileUpload/Models/SQLite/MFUQueuesSQLite.php on line 78
[06-Aug-2010 22:27:30] PHP Fatal error: Uncaught exception 'FatalErrorException' with message 'Class 'SQLiteDatabase' not found' in /web/_nette_multiple/app/controls/MultipleFileUpload/Models/SQLite/MFUQueuesSQLite.php:78
Stack trace:
#0 [internal function]: Debug::_shutdownHandler()
#1 {main}
- Honza Kuchař
- Člen | 1662
Potřeba si nainstalovat rozšíření pro PHP SQLite. Pokud vím, tak je dodáváno standardně v každé instalaci PHPka. Více informací zde: http://php.net/…k.sqlite.php
//EDIT: A podle despiqa: A to znamená? (Honza: Ano, to je pravda, potřeba nechat uživatele taky trochu přemýšlet)
- Honza Kuchař
- Člen | 1662
Jdi se prosím tě už vyspat. Nevidíš pořádně na ten příspěvek.
Píšu na vývojové mašině. Tento text je reakcí na
příspěvek, který už neexistuje. Uživatel ho smazal.
Ještě bych zapomněl. Dobrou noc přeji!
- RDPanek
- Člen | 189
Na localhostu funguje sqlite i dibidriver mysql
na php5.cz pouze dibidriver mysql – sqlite ne, i když podle phpinfo je
instalovany
http://www.tests.php5.cz/document_root/
[06-Aug-2010 23:15:46] PHP Fatal error: Class 'SQLiteDatabase' not found in /www/sites/6/site2396/public_html/app/controls/MultipleFileUpload/Models/SQLite/MFUQueuesSQLite.php on line 78
[06-Aug-2010 23:15:46] PHP Fatal error: Uncaught exception 'FatalErrorException' with message 'Class 'SQLiteDatabase' not found' in /www/sites/6/site2396/public_html/app/controls/MultipleFileUpload/Models/SQLite/MFUQueuesSQLite.php:78
Stack trace:
#0 [internal function]: Debug::_shutdownHandler()
#1 {main}
na hostingu, ktery vyuzivam funguje jen dibidriver ale jen castecne, ze vraci „0 souboru“