Syok'n Lab
WEB開発のあれこれ PHP,JAVA,Javascript,Ajax,Flex,Air,Linuxなどなど 最近雑記帳になりつつある・・・
カテゴリー「PHP」の記事一覧
- 2025.10.29
[PR]
- 2011.03.21
[PHP] cakephp+sencha-touchでiphoneWebアプリ開発<停滞章>
- 2011.03.09
[PHP] cakephp+sencha-touchでiphoneWebアプリ開発<序章その2>
- 2011.03.08
[PHP] cakephp+sencha-touchでiphoneWebアプリ開発<序章>
- 2009.12.14
[PHP]CakePHP モデルのfindメソッド等のfield
- 2009.11.10
[PHP] PEAR Archive_Tar
※コメント、トラックバックは認証後表示されますのでご了承下さい
[PHP] cakephp+sencha-touchでiphoneWebアプリ開発<序章その2>
セッションの件はわからないけれど、携帯用にSJIS出力する際のメモ
基本文字コードはUTF-8で統一ですが、一部ガラケーはUTF-8に対応していないので、Shift-JISに変換する必要があります。
app_controller.php(自分の場合はすべてのcontrollerの基底クラスとして定義) 内に以下のメソッドを定義します。
※beforeRender内ではレイアウトパスの変更と、文字コードヘッダの指定を(デバッグモードを切っておかないと面倒なようです)
この場合だとviews/layout/s/内にスマホのviews/layout/m/内にガラケー用のレイアウトファイルを配置します
※afterFilter内では出力するhtmlの文字コードを変換します。
後は送信データのコンバートをしないといけない(追記予定)
基本文字コードはUTF-8で統一ですが、一部ガラケーはUTF-8に対応していないので、Shift-JISに変換する必要があります。
app_controller.php(自分の場合はすべてのcontrollerの基底クラスとして定義) 内に以下のメソッドを定義します。
function beforeRender() {
parent::beforeRender();
if ($this->RequestHandler->isMobile()) {
if ($this->__isSmartPhone()) {
$this->viewPath = 's';
$this->layoutPath = 's';
} else {
$this->viewPath = 'm';
$this->layoutPath = 'm';
Configure::write('debug', 0);
$this->RequestHandler->respondAs('html', array('charset' => 'Shift_JIS'));
}
}
}
※beforeRender内ではレイアウトパスの変更と、文字コードヘッダの指定を(デバッグモードを切っておかないと面倒なようです)
この場合だとviews/layout/s/内にスマホのviews/layout/m/内にガラケー用のレイアウトファイルを配置します
function afterFilter()
{
parent::afterFilter();
if ($this->RequestHandler->isMobile() && !$this->__isSmartPhone()) {
//header("Content-type: text/html; charset=Shift_JIS");
//Configure::write('App.encoding', 'Shift_JIS');
$this->output = mb_convert_kana($this->output, 'rak');
$this->output = mb_convert_encoding($this->output, 'SJIS-win', 'UTF-8');
//$this->RequestHandler->respondAs('xhtml', array('charset' => 'Shift_JIS'));
}
}
※afterFilter内では出力するhtmlの文字コードを変換します。
後は送信データのコンバートをしないといけない(追記予定)
[PHP] cakephp+sencha-touchでiphoneWebアプリ開発<序章>
タイトルのとおり
iphone(ipod touch)のセッション引継ぎがなかなかうまくいかん
ブラウザから認証情報を非同期でpost⇒認証おk⇒セッションに値格納⇒ブラウザにレスポンス返す⇒レスポンスおkならリダイレクト
ってな流れで処理しているのだけど、なぜかiphone版に作った画面では引き継がれない
関係ないかもしれないけど、この問題がクリアになったら是非試したい情報があったのでメモ
認証情報保持時にクッキーの変わりにローカルストレージを使う
http://suin.asia/2009/09/13/iphone_local_strage_for_email_password_remainder
週末までには解決したいなぁ
iphone(ipod touch)のセッション引継ぎがなかなかうまくいかん
ブラウザから認証情報を非同期でpost⇒認証おk⇒セッションに値格納⇒ブラウザにレスポンス返す⇒レスポンスおkならリダイレクト
ってな流れで処理しているのだけど、なぜかiphone版に作った画面では引き継がれない
関係ないかもしれないけど、この問題がクリアになったら是非試したい情報があったのでメモ
認証情報保持時にクッキーの変わりにローカルストレージを使う
http://suin.asia/2009/09/13/iphone_local_strage_for_email_password_remainder
週末までには解決したいなぁ
[PHP] PEAR Archive_Tar
PHPからサーバーコマンドを実行出来ない状況下でファイルの圧縮、展開を行いたい場合
PEARに以下のライブラリがあります。
・Archive_Zip
・Archive_Tar
どちらもPHPを導入する際にzlibを有効にする必要があります。
インストール方法は以下を参照
http://d.hatena.ne.jp/solitary_shell/20090716/1247726269
簡単な使用法
※詳細は公式を参照
PEARに以下のライブラリがあります。
・Archive_Zip
・Archive_Tar
どちらもPHPを導入する際にzlibを有効にする必要があります。
インストール方法は以下を参照
http://d.hatena.ne.jp/solitary_shell/20090716/1247726269
簡単な使用法
※詳細は公式を参照
// 圧縮
// 圧縮するフォルダへCD
chdir($archiveDir);
// インスタンス生成(ここではtgz形式で)
$obj = new Archive_Tar($archiveFile, "gz");
// 圧縮対象のファイル配列生成
$targetFiles = array(
'hoge1.txt',
'hoge2.txt'
);
// アーカイブ作成
$obj->create($targetFiles);
// 解凍
$obj = new Archive_Tar('archive.tar.gz', true);
$result = $obj->extract('/home/myFolder');
スポンサー
オススメ
みよしだるな さんと読みます
最近のヘビロテ
NIKONデジ一を購入した方。 標準レンズに物足りなさを感じたらこれを購入すると世界が広がります
男のレシピ本。愛読させていただいてます
最近のヘビロテ
|
| 美吉田月/Ska Flavor#2 |
NIKONデジ一を購入した方。 標準レンズに物足りなさを感じたらこれを購入すると世界が広がります
|
| Nikon(ニコン) デジタル一眼レフカメラ用レンズ AF-S DX Nikkor 35mm F1.8G■送料全国一律840円 |
男のレシピ本。愛読させていただいてます
|
| 男のレシピ 大胆。豪快。シンプル。女も作りたくなる男前の料理。 |
| 1,000円 |
ランキング
免責事項
当ブログに記載している情報に関しては、合法性、正確性、安全性等、いかなる保証もされません。従って、当ブログの情報を元に行う行為については自己責任でお願い致します。
カレンダー
カテゴリー
最新記事
(02/05)
(10/19)
(09/19)
(08/30)
(08/22)







