タイトル募集中3.0

しがないITソルジャーの雑記。

検証中

まず,デバッグ用の出力を表示する

verbose: true

が効いてない.

普通に導入すると,verboseがtrueの状態でマウスがリンク乗ったりすると

initializedSwiff.Uploader.js (367 行目)
Main::fireEvent "buttonEnter"Swiff.Uploader.js (367 行目)
Main::fireEvent "buttonLeave"Swiff.Uploader.js (367 行目)

こんな風に情報がでるんだけど,ZendFrameworkに乗っけた方はこれがでない.

じゃあ,javascript動いてないんじゃないのか?と思ったけど,mootoolsで要素を隠したりしてる部分はちゃんと動いてるし,ブラウザ側でOFFにしてるわけでもない.

次に,リンク(にはなってないけどリンクになるはずのところ)をクリックすると,何も起こっていないようで実は,ちゃんとアップロードの処理をするflashのobjectが埋め込まれてる.でもリンクになってない.

ということは,リンクを作るところが怪しいなってことで探す.

        • -

これ,ログだしてるのflash側だったのか・・・

んー,javascript側のaddEvent動いてないぞこれ.

大きな問題は解決

たぶん,原因はmod-rewrite使ってことだろうなと勝手に推測.というかそうに違いない.
ZendFrameworkではリクエストは(全て)以下の.htaccessによってフロントコンローラに渡される.

RewriteEngine on
RewriteBase /app/
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

で,まあこれ,デフォルトだとjsは除外されてるからいいんだけど,肝心のflash部分(swf)が除外されてない.
なので,swf呼び出してもフロントコントローラへのリクエスト扱いされて動いてなかったということ.
さらに,ffmepegにエンコードリクエスト投げるところのphpなので,同じようになって返り値もエラー.
ということで,RewiteRuleを少し修正(swfを追加)して

RewriteEngine on
RewriteBase /app/
RewriteRule !\.(swf|js|ico|gif|jpg|png|css)$ index.php

これでinitializedまで動くようになった.

でもこのままだと,ffmpegにリクエスト投げる部分で落ちる.処理してるのがphpなので.
さてどうするか.

おおっと,アップロードも失敗してた.まあこれもphpにpostしてるんだし当たり前か

とりあえず全て解決

RewriteCond %{REQUEST_URI} !/src/(.*)

必要なスクリプトをフォルダに突っ込んで,RewriteCondでそのフォルダ以下は除外.
これで,動くようになった.しかしこれは気持ち悪いな,フレームワークつかってるのに,除外って・・・
Zend_Controller_Request_Httpってのがあるから,できるんだろうけど,面倒だな.
とりあえず他が終わってからにするか.

そういう話ではないのか?

できた?

普通にffmpegAction作って,viewにffmpeg.phtmlを置く
で,jsのリクエストを/app/Up/ffmpeg?name=hoge.avi
のようにする.(Upコントローラってのがあるのが前提でその中のffmpegアクション)
これで,viewで

<?php echo $this->escape($this->name);?>

ってやるとajaxになってるっぽい.

あってるのか,この使い方w