ugrás a tartalomhoz

Archívum - Szep 2008

október 1

PHP upload progress

Fraki · 2008. Szep. 30. (K), 22.52
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.

Október 1-jén ismét NewTech Meetup

Török Gábor · 2008. Szep. 30. (K), 20.14
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

carstepPCE · 2008. Szep. 30. (K), 16.48
Sziasztok,

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 );
        }
	}
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
 

Doctrine több oszlopos UPDATE

kalamona · 2008. Szep. 30. (K), 15.03
Hogyan tudok egy lekérdezésben több oszlopot updatelni?
Manual szerint egy oszlop frissítése így zajlik:

rows = $q->update('Account')
         ->set('amount', 'amount + ?', '200')
         ->where('id > 200') 
         ->execute(); 
ez nem jó:

rows = $q->update('Account')
         ->set('amount', 'amount + ?', '200')
         ->set('amount2', 'amount2 + ?', '500')
         ->where('id > 200') 
         ->execute(); 
ez sem:

rows = $q->update('Account')
         ->set('amount', 'amount + ?', '200','amount2', 'amount2 + ?', '500')
         ->where('id > 200') 
         ->execute(); 
Vagy ez nem támogatott? :)
 

Experimenting with Git at Slide (Part 1/3)

Török Gábor · 2008. Szep. 30. (K), 13.58
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

kalamona · 2008. Szep. 30. (K), 09.22
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. :)
 

Firefox 3: 8 Things You Didn't Know You Could Do

Hojtsy Gábor · 2008. Szep. 30. (K), 08.51
Felhasználói tippek a Firefox 3-hoz
 

CSS Systems for writing maintainable CSS

Hojtsy Gábor · 2008. Szep. 30. (K), 07.30
Karbantartható CSS kialakítása
 

Flash 10 Security Changes Good and Bad, Mostly Good

Hojtsy Gábor · 2008. Szep. 30. (K), 00.29
A Flash 10 biztonsági változásai
 

szeptember 29

jQuery Cheat sheet

Török Gábor · 2008. Szep. 29. (H), 14.50
Puska jQuery-hez