jQuery slideToggleで動きがカクカクする
ググってみるとtableタグが・・・とか書いてたが spanでもカクカクしてたdivに変更すると大丈夫だった。
js
$(function() { $('a').hover( function(){ $(this).find('.status').slideToggle(200); } ) });
Before
<a href="#"> <img src="#" alt=""> <span class="status" style="display: none;">xxx</span> </a>
After
<a href="#"> <img src="#" alt=""> <div class="status" style="display: none;">xxx</div> </a>
upload_max_filesize post_max_sizeエラーの対策 CakePHP
PHPで大きなファイルをアップロードした時のエラーの原因
- post_max_size
- upload_max_filesize
このエラーによる問題
- CakePHPで空のデータがインサートされる
メソッドはポストなんだけどポストされたデータが全て空に。
nameが空なのでvalidateも機能せず、createdとmodifiedだけ追加されインサートされる。 - ポストされたデータが空になるので$_FILE['xxx']['size']でファイルサイズが取れない
post_max_sizeの対策
ポストしたデータのヘッダのContent-Lengthからポストされたサイズが分かるのでこれをチェックする。
if ($this->request->is('post')) { if ($_SERVER['CONTENT_LENGTH'] > (8*1024*1024)) { $this->Session->setFlash('アップロードサイズが上限を超えています。'); $this->Session->write('tmp_data', $this->request->data); $this->redirect($this->referer()); } } elseif ($this->Session->read('tmp_data')) { $this->request->data = $this->Session->read('tmp_data'); $this->Session->delete('tmp_data'); }
サイズチェックした後、元のページへリダイレクトしたら元のデータが消えてたのでセッションを使ってデータを渡した。
こんなやり方でいいのかな。。。
upload_max_filesizeの対策
MAX_FILE_SIZEを使えば、サイズオーバーなら$_FILE['xxx']['error']に2が返ってくる。
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
さらにvalidateの方でもファイルチェックを行う必要あり。
CakePHP SplFileInfo::openFile エラー
Config/core.php
Cache::config('default', array( 'mask' => 0666, ));
CentOS ユーザー一覧確認コマンド
ユーザー一覧の確認コマンド
$cat /etc/passwd
グループ一覧の確認コマンド
$cat /etc/group
CentOSでLinkStationをマウント。
アクセス制御などしてなければそのまま。
#mount -t cifs //192.168.1.xxx/DIR /mnt/linkstation
ユーザを指定する場合はオプションを付ける。
オプションはカンマ区切りで。
#mount -t cifs -o user=watuu,password=*** //192.168.1.xxx/DIR /mnt/linkstation
マウントしたディレクトリをDocumentRootにシンボリックリンクをはれば仕事がはかどる。
$ln -s /mnt/linkstaion linkstation
twitter widget width 可変の指定方法
twitter のタイムラインウジット
下記widget作成ツールから作成出来る。
https://twitter.com/settings/widgets
幅はコードにwidth="200"などを指定すればOKだが可変パーセントの指定ができない。
下記方法でいけた。
#twitter-widget-0 { width: 100% !important; }
sqlite_open() が使えない。
パッケージで入れたPHP 5に最新版sqlite拡張を入れるAdd Star
http://d.hatena.ne.jp/sotarok/20080607/php_5_with_sqlite
ここのphpのバージョンを変えてmake && make install sqlite_open() が使えるようになった。