Archívum - Szep 30, 2008
PHP upload progress
Sziasztok,
PHP upload progress témában szeretnék frissített beszámolót adni, illetve tapasztalatot cserélni, ha valaki azóta esetleg (újra) elővette a témát.
Aki nem lenne képben, annak a lényeg összefoglalva az, hogy ilyet tisztán php-val alapból nem lehet csinálni, csak azóta a dolgok változtak. Eddigi topikok itt a weblaboron: egy két évvel korábbi, aminek az alján összegzem az addigi eredményeket, illetve két héttel ezelőtt is feljött a kérdés.
Nos, azóta a PHP 5.2-től kezdve lehetővé vált tiszta php-s megoldás, ha nem is alaptelepítéssel. Két PECL csomagról van szó, az egyik az APC, ami örvendetes, mert egy nagy és jól karbantartott modul, és ha jól tudom, a 6-os PHP-tól már a core-ban lesz. A másik az uploadprogress.
Mindkettő használata egyszerű, a fájlt felküldő formban a file inputja elé kell tenni egy hidden inputot egy speciális névvel (APC_UPLOAD_PROGRESS, ill. UPLOAD_IDENTIFIER) a name, valamint egy egyedi azonosítóval a value attribútumban. A form submitja után a megadott kulccsal azonnal lekérhetők a feltöltés folyamatának az információi (apc_fetch($kulcs), ill. uploadprogress_get_info($kulcs) ajaxszal vagy iframe-es/popup-os frissítgetésekkel; további információk a php.net apc oldalán, illetve az uploadprogress-ről itt).
Mindkét modul a POST méretét adja vissza, nem a pontos fájlméretet.
A tapasztalataim a következők. APC-vel minden szépen működik, egészen addig, amíg nagy fájlt nem töltünk fel. Sokáig azt hittem, kliensoldalon van a gond, de végülis egy kis loggolással és Firebuggal lekövettem, hogy sajnos nem.
PHP upload progress témában szeretnék frissített beszámolót adni, illetve tapasztalatot cserélni, ha valaki azóta esetleg (újra) elővette a témát.
Aki nem lenne képben, annak a lényeg összefoglalva az, hogy ilyet tisztán php-val alapból nem lehet csinálni, csak azóta a dolgok változtak. Eddigi topikok itt a weblaboron: egy két évvel korábbi, aminek az alján összegzem az addigi eredményeket, illetve két héttel ezelőtt is feljött a kérdés.
Nos, azóta a PHP 5.2-től kezdve lehetővé vált tiszta php-s megoldás, ha nem is alaptelepítéssel. Két PECL csomagról van szó, az egyik az APC, ami örvendetes, mert egy nagy és jól karbantartott modul, és ha jól tudom, a 6-os PHP-tól már a core-ban lesz. A másik az uploadprogress.
Mindkettő használata egyszerű, a fájlt felküldő formban a file inputja elé kell tenni egy hidden inputot egy speciális névvel (APC_UPLOAD_PROGRESS, ill. UPLOAD_IDENTIFIER) a name, valamint egy egyedi azonosítóval a value attribútumban. A form submitja után a megadott kulccsal azonnal lekérhetők a feltöltés folyamatának az információi (apc_fetch($kulcs), ill. uploadprogress_get_info($kulcs) ajaxszal vagy iframe-es/popup-os frissítgetésekkel; további információk a php.net apc oldalán, illetve az uploadprogress-ről itt).
Mindkét modul a POST méretét adja vissza, nem a pontos fájlméretet.
A tapasztalataim a következők. APC-vel minden szépen működik, egészen addig, amíg nagy fájlt nem töltünk fel. Sokáig azt hittem, kliensoldalon van a gond, de végülis egy kis loggolással és Firebuggal lekövettem, hogy sajnos nem.
Október 1-jén ismét NewTech Meetup
Mint megszokott, hónap első szerdáján, tehát holnap, október 1-jén ismét Budapest New Technology Meetup a Szervita téri KÉK-ben. A rendezvény programlapja egyelőre szűkszavú a holnapi témákat illetően, mégis érdemes azokról címszavakban szólni. Az öt villámelőadás közül kettőnek is témája a Flash: Pataky Vince Flash fordítás és debuggolás OS X es TextMate alapon, illetve Serényi Balázs SourceBinder – kössük össze programkódjainkat címmel tartanak bemutatót. Kis Gergely az Android nyílt forrású mobil platform 1.0-s kiadásáról prezentál, de érdekes lesz Szabó Zsolt demója is, amelyben egy webes fax-szolgáltatásról, a faxolo.hu-ról tudhatunk meg részleteket. Találkozunk holnap!
autoload erdekesseg
Sziasztok,
nem tudom valaki futott e mar bele valami hasonloba, de nekem nagyon furcsanak tunik itten valami:erre kapom azt, hogy:
"igen osztaly van:::vrn_all_products ::: Unexpected error happened!Class vrn_all_products not found"
Ehhez mit szoltok, en nem latom a hibat? Az elirasokat lecsekkoltam!
Udv
Sanyi
■ nem tudom valaki futott e mar bele valami hasonloba, de nekem nagyon furcsanak tunik itten valami:
function __autoload( $class ) {
if (class_exists($class, false) || interface_exists($class, false)) {
return;
}
$file = 'classes' . DIRECTORY_SEPARATOR . $class . '.php' ;
$file2 = 'classes' . DIRECTORY_SEPARATOR . 'models' . DIRECTORY_SEPARATOR . 'service_' . $class . '.php' ;
if ( file_exists( $file2 )) {
@require_once( $file2 );
if ( class_exists( $class, false ) ) { echo 'igen osztaly van::: '.$class . ' ::: '; }
}
else if ( file_exists( $file ) ) @require_once( $file );
if ( ! class_exists($class, false) || !interface_exists($class, false)) {
throw new Exception('Class ' . $class . ' not found', 0 );
}
}
"igen osztaly van:::vrn_all_products ::: Unexpected error happened!Class vrn_all_products not found"
Ehhez mit szoltok, en nem latom a hibat? Az elirasokat lecsekkoltam!
Udv
Sanyi
Doctrine több oszlopos UPDATE
Hogyan tudok egy lekérdezésben több oszlopot updatelni?
Manual szerint egy oszlop frissítése így zajlik:ez nem jó:ez sem:Vagy ez nem támogatott? :)
■ Manual szerint egy oszlop frissítése így zajlik:
rows = $q->update('Account')
->set('amount', 'amount + ?', '200')
->where('id > 200')
->execute();
rows = $q->update('Account')
->set('amount', 'amount + ?', '200')
->set('amount2', 'amount2 + ?', '500')
->where('id > 200')
->execute();
rows = $q->update('Account')
->set('amount', 'amount + ?', '200','amount2', 'amount2 + ?', '500')
->where('id > 200')
->execute();
Experimenting with Git at Slide (Part 1/3)
Subversionről gitre váltás története három részben
■ AJAX-os kérés közben a PHP kódban eltűnnek a változók egy idő után
Sziasztok!
A kérdésem nagyjából belefért a címbe. jQuery $.post használatával küldöm az adatokat, a php kódban viszont egy idő után nem elérhetőek az adatok. Még úgysem ha rögtön a metódusom elején lementem a $_POST-ból egy lokális változóba.
PHP oldalon úgy debuggoltam, hogy egy fájlba írogattam ki az értékeket, hogy lássam mikor veszik el. Egy sima értékadás előtt még ott van minden, utána pedig nem íródik már a fájlba semmi. Mindez ráadásul nincs összefüggésben az értékadással, mert sokféleképpen volt már a kód átírva ebben a függvényben a túlbonyolítottól a minimalistáig és mindig ez történt.
Mintha lenne valami timeout vagy hasonló az ajax requestre vagy nem is tudom elképzelni, hogy mi lesz vele egy idő után. Első ajaxos szárnypróbálgatásaimról van szó, úgyhogy nyugodtan gondolkodhattok triviális amatőr hibákban is. :)
■ A kérdésem nagyjából belefért a címbe. jQuery $.post használatával küldöm az adatokat, a php kódban viszont egy idő után nem elérhetőek az adatok. Még úgysem ha rögtön a metódusom elején lementem a $_POST-ból egy lokális változóba.
PHP oldalon úgy debuggoltam, hogy egy fájlba írogattam ki az értékeket, hogy lássam mikor veszik el. Egy sima értékadás előtt még ott van minden, utána pedig nem íródik már a fájlba semmi. Mindez ráadásul nincs összefüggésben az értékadással, mert sokféleképpen volt már a kód átírva ebben a függvényben a túlbonyolítottól a minimalistáig és mindig ez történt.
Mintha lenne valami timeout vagy hasonló az ajax requestre vagy nem is tudom elképzelni, hogy mi lesz vele egy idő után. Első ajaxos szárnypróbálgatásaimról van szó, úgyhogy nyugodtan gondolkodhattok triviális amatőr hibákban is. :)
Firefox 3: 8 Things You Didn't Know You Could Do
Felhasználói tippek a Firefox 3-hoz
■ Flash 10 Security Changes Good and Bad, Mostly Good
A Flash 10 biztonsági változásai
■