edo1z blog

プログラミングなどに関するブログです

2014-01-01から1年間の記事一覧

ec-cube デバッグ

ログ出力 画面に出力 $this->p($var); Logファイルに出力 GC_Utils_Ex::gfDebugLog($var); ※どうも出力されない GC_Utils::gfPrintLog($var) これなら表示される。 gfDebugLog()は、DEBUG_MODEがtrueのときだけ表示されるらしい。

cakephp webroot以外を非公開ディレクトリに移動

参考:CakePHP webroot以外を非公開ディレクトリに移動する webrootの中身をパブリックなディレクトリに入れます。 それ以外を非公開ディレクトリに入れます。 今回さくらだったので、wwwをパブリックにして、その上にhogeとつくってこれを非公開としました…

cakephp - ログインが必要なajaxでログインが切れちゃった場合の挙動

authコンポーネントつかってるので、authコンポーネントでログイン状態を確認したときに、ajaxだった場合は、ログイン画面にリダイレクトする変わりに、ログインしてねというメッセージをviewにセットして、終了したい。 cakephpのcookbookみたら、ちゃんと…

capistrano3でcakephpのmigrations pluginを実行させる

cookpadの人がridgepoleというのを作られまして、これはべきとうせいが保証されているらしい。ちなみにべきとうせいという読み方は間違っているかもしれない。漢字が変換で出てこない。どうもテーブル一覧つくってそれを更新するだけでいいっぽくて、その一…

mysql 大きいサイズのsqlを分割してインポートする

大きいsqlをインポートするのら、php.iniで最大サイズを変更すればできるといえばできる。ローカル環境とかなら。でもインポート中にエラーとかでると結局sql直したりしなきゃいけない。今回は100テーブルあって全部で30MBくらいのsqlなので、テーブル毎に分…

macのコマンドが変

BSD系だから微妙に使いづらいらしい。ネットで調べた使いかたと違うから困る。。 参考:Mac のターミナルで複数ファイルの文字列を一括置換する 上記のとおりにやったら、headとかcsplitとかも普通に使えるようになった。

EC2 phpmyadminが動かない

APCとmemcachedを入れたことが原因だった。 当初でていたエラーはこれ。 Undefined property: PMA_Error::$hash in /usr/share/phpMyAdmin/libraries/Error.class.php on l ine 169 Notice: Undefined property: PMA_Error::$isDisplayed in /usr/share/phpM…

cakePHP SessionをDB+memcachedにしてみる

セッションをmemcached+DBというコンボセッションにしたいと思います。コンボセッションというのはここに書いてあるからそういう風にいうのかなと思いました。 http://book.cakephp.org/2.0/ja/development/sessions.html 上記ではAPCが使われていますが、AP…

EC2 cakePHPでMemcachedつかう

AmazonLinuxにMemcachedを設定します。 インストールと設定 インストールします。 参考:さくらの VPS 設定覚書(4)PHP yum --enablerepo=remi,epel,rpmforge install libevent libevent-devel memcached php-pecl-memcache php-pecl-memcached 設定します…

APC

APCはPHPアクセレーターというやつです。 PHPアクセレーターとは、PHPのスクリプトを最適化してコンパイルされた状態でデータをキャッシュし、以後同じデータにアクセスがあった際、そのキャッシュを利用することでスクリプトの実行速度を高速化させるための…

画像をクライアント側で縮小する

スマホからアップロードしようとするとスマホで撮影した画像ファイルのサイズが大きいので大体エラーになります。クライアント側で縮小しつつ、向きも合わせるとう処理が必須であります。 画像アップロード前にクライアント側で縮小してプレビューし、アップ…

git リモートbranchの取得

git branch -a これでリモートブランチが見られる 載ってない場合は、 git fetch これで、最新状態を取得できる git branch newb origin/newb これで、取得できる git checkout newb pushは、 git push origin newb

cakephp mpdf A4横でブラウザ表示

前の記事:cakePHP2.3 mPDFを使ってPDFを出力する(レイアウト・ビューを使ってPDFを作成しサーバに保存する) 上記で大体できますが、A4横にしたりするのがわからなかったから調べた。ブラウザ表示自体は、$mpdf->Output();で普通にブラウザに表示されます…

php gd 画像リサイズ

画像リサイズのコードが変だったので直した。 list($ow, $oh, $type) = getimagesize($file_path); if(empty($ow) || empty($oh)) return false; $x = 0; $y = 0; if($ow / $nw > $oh / $nh){ //幅のがはみだしてる $w = $oh * $nw / $nh; $x = ($ow - $w) /…

chrome window.printが効かない

謎の現象がおきています。localのchromeであれば問題なくうごきますが、さくらサーバでやると動きません。といっても他のページだと問題なく動くのですが特定ページのみ、さくらサーバだとwindow.print()が効きません。厳密に言うと、window.printを実行して…

いい感じにくっつけたフッターとヘッダーの間にあるコンテンツの背景を白く塗りつぶしたい

ヘッダーとフッターの間にあるコンテンツ空間はコンテンツ量によって高さが変動しますので、普通にbackgroundの背景色を設定しても、コンテンツ量が少ない場合、余白が出来てしまいます。この余白をださずに背景色で埋めたいです。 display: flexってやつが…

Androidで背景画像が固定できない!!

CSS

これでPCだと問題なく固定できますし、iPhoneでも問題なく固定されます。しかしながらAndroidだと固定されません!!! body{ background:url('../img/img.jpg') no-repeat center center fixed; background-size:cover; } PC/スマートフォンで背景画像を固…

フッターをいい感じに下にくっつける

CSS

今まで僕はフッターをいい感じに下にくっつけたことがありませんでした。本日ついにいい感じに下にくっつけることが出来るようになりました。height:auto !importantというのはIE対策だそうですのでIE考えないなら不要です。wrapにcontentsとfooterを入れて…

他のところをクリックしたら閉じる javascript

下のスクリプトでやったらパソコンとAndroidはうまく閉じるけど、iPhoneで試したら閉じない。 function toggle_sub_menu(){ $('#sub_menu').slideToggle(300); event.stopPropagation(); } $(document).on('click', 'body', function(e){ if(!$(e.target).is…

twitterプロフィール画像をFilebinderに関連づけつつ保存する

全然汎用的じゃないけどtwitter画像を保存してみた。 /** * Twitter画像の取得関数 */ public function save_twitter_profile_img($model, $twitter_img_url, $user_id){ $args = array(array(18, 18), array(48, 48)); //サムネイルのサイズ $save_dir_path…

色の計算

色の計算がしたい。LESSとか使わないでちょっと計算できればプログラムにすぐ組み込める。色のことは全然詳しくないけど経験上FFBBCCとかあったらFの部分が赤くて、Bの部分が緑で、Cの部分が青というのは知ってる。あと数値が高ければ明るいこともしっている…

画像をinputにドラッグして表示する

IEはダメらしいですが、typeがfileのinputはドラッグ&ドロップでファイルを登録できます。なので、ドロップしたらinputにchangeイベントがおこります。changeイベントが発生したら、FileReaderを使って表示させます。 $(document).on('change', '.img_input'…

フォームのファイルをAjaxでアップロードする

FormData オブジェクトの利用ここにドンズバのことが書いてあって有り難いです。非常に便利っぽいですね。 var fd = new FormData(document.getElementById("form_data")); このfdを渡してAjaxでやったらできた。いやーよかったよかった簡単で。 jqueryでや…

爆弾こわい

cakePHP findのorderで配列の順番にソートするように設定する

$array = array(5, 4, 31, 29); $options = array( 'order' => "FIELD(id, " . implode(',', $array) . ")", ); return $this->find( 'all', $options );

jquery ui sortable で並び順を取得する(serialize)

参考:http://api.jqueryui.com/sortable/#method-serialize ここで、item_1、item_2といった感じで連番ふるよといいましたが、どちらかというと並び替えの場合、並び替え対象でDBのIDで管理しないといけないと思いますので、item_idという感じにした方がよ…

firefoxでformにdisabled設定するとリロードしてもdisabledのままになっちゃう

firefoxはFormの入力内容を勝手ながら保存してくれます。便利なときもあれば不便なときもあります。 disabledをjavascriptで動的に設定した場合は不便です。 入力内容を覚えておいておかないようにするか、javascriptで、Firefoxのために初期化(disabledを外…

javascript ドラッグ&ドロップで並び替え

HTML要素をドラッグアンドドロップで移動して、並び順を変更したい。 今知りましたが、sortabaleというドンピシャの機能があるんですねえ。ちなみに、ドットインストールにも載ってました。 $(function(){ $('#sortable').sortable(); }); cursor:'move'でカ…

PHPのセッションでエラーでた apache

cakePHPでFileBinderで画像アップできないと思ったら、capistranoのshared内にディレクトリ作ってなかったり、app/tmpのパーミッションがおかしかったり、セッション保存するディレクトリのパーミッションが変だったりしたから直した。 セッション関連でこん…

Bootstrap 画面サイズ毎の表示切替

visible-md visible-lgとしても、lgでしか表示されない。 この前もそうなった気がする。 hidden-xs hidden-smとしたら出来た。