PHP5.4 からの upload_progress と Zend_Session

PHP5.4からsession.upload_progressが使用できるようになりました。詳しくは検索!もしくはこちら
けっこう簡単に素敵なアップロード画面を作ることができるようになりました。

ただ…
Zend_Sessionと併用はできないようです。 (↓訂正)

名前が session.upload_progress.name の値を持つPOSTを受け取った時点で、どうも session_start しているようです。

Zend_Sessionを使う場合は php_value session.auto_start 0 にして勝手にsession_startを呼ばないでねっていうZend_Sessionとの約束は守れません。

なので、Zend_Auth を認証に使ってたら new Zend_Auth_Storage_Session() で怒られます。
「session has already been started by session.auto-start or session_start() 」

ドハマリ数時間の結論は、併用不可。アップロード画面はZend_Session、Zend_Authを使用せず、別の方法で認証してupload_progressを優先することにします。(↓訂正)

— 訂正 —
なんということでしょう。結構簡単に実装できちゃいました。Zendの設計者スバラシイ。
Zend_File_Transfer_Adapter_Http  あたりが答えです。
情報は少なくなりますが、このあたり(stackoverflow)が参考になります。

クリックで表示するFAQ

質問一覧が表示されてて、質問をクリックしたら回答が表示されるアレ。
デモ↓

質問質問質問質問質問質問

答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え

質問質問質問質問質問質問

答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え

質問質問質問質問質問質問

答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え答え

 

jQuery(function($){
	$(".accordion-toggle").css("cursor","pointer");
	$(".accordion-toggle").next().css("display","none");
	
	$(".accordion-toggle").on("click", function() {
		$(this).next().slideToggle();
	});
});

 

質問質問質問質問質問質問