2008/12/25 木曜日 by kouichi
Zendでの携帯対応でちょっとはまったので、こちらに書いておきます。
セッションを保持するためには通常CookieにセッションIDを保持しますが、携帯ではCookieが使えないものがあります。(今はDocomoだけ)
その場合、セッションIDをURLに引き回す手段が使われます。
JavaだとTomcatが勝手にやってくれてましたが、PHPの場合も設定でOKでした。
php.iniのsession部を
session.use_trans_sid=1
session.use_only_cookies=0
とすればOKです。
php.iniではなくアプリで行うには
Zend_Session::setOptions(array('use_trans_sid'=> '1',
'use_only_cookies'=> '0'));
とすればOKでした。
ただし!
その後に、
Zend_Session::start();
が必要でした。
これがなくて、数時間はまりました。。。
この場合、設定のせいなのか、プログラムのせいなのか切り分けができず。
ライブラリ、フレームワークを使うと、そういったところが難しいですね。
ですが、クリアできてよかった^^
Posted in PHP | No Comments
2008/10/15 水曜日 by kouichi
今開発中のシステムで、IEでファイルをjpegアップロードしたところ。
エラーが出て、アップロードできない状況にありました。
調べてみるとアップロードしたファイルのContetTypegが「image/pjpeg」に。
そんなContentType受け付けておりません。。。
他にもはまった方がいるようです。
pjpegってprogressive JPEGというものらしいのですが、こんなのあったんですね。
でも、どのjpegアップしてもpjpegになるし、逆にUPしたファイルのContentTypeをimage/pjpegで表示しようとすると、途中で描画が止まってしまうし。
と、子一時間ほどはまってしまいました。
他のブラウザだと大丈夫でしたが、クロスブラウザ対応はJavaScript、CSSのみにあらずです。
Posted in PHP, Java | No Comments
2008/8/18 月曜日 by kouichi
久々コーディングを。
Smartyを使うかもなので、ひとまず試してみました。
ライブラリはこちらのdownloadよりダウンロードし、解凍したフォルダの
Smarty-x.x.x/libs
をinclude_pathに含めればまずは準備完了です。
< ?php
//Smartyライブラリ読み込み
require_once 'Smarty.class.php';
//Smartyのインスタンスを作成
$smarty = new Smarty();
//各ディレクトリの指定
$smarty->template_dir = './templates/';
$smarty->compile_dir = './templates_c/';
$smarty->config_dir = './configs/';
$smarty->cache_dir = './cache/';
smarty->assign('arg1', "test");
//テンプレートを指定し表示
$smarty->display("test.tpl");
?>こんな感じでPHPファイルを作成し、templatesフォルダ内にtest.tplを
<HTML lang="ja">
<HEAD>
<META http-equiv="content-type" content="text/html; charset=UTF-8">
<TITLE>{$arg1|escape}</TITLE>
</HEAD>
<BODY TEXT="black" BGCOLOR="white">
{* テンプレート中のコメント *}
<!-- タイトル -->
<div align="center"><font size="5"><b>{$arg1|escape}</b></font></div>
<hr width="600" align="center">
</BODY>
</HTML>
とすればひとまずOKです。
{$パラメータ}
でassignした文字列が表示でき、escapeのいろいろ方法があってJavaScriptにも適応可能で、確かに使い勝手はよさそうです。
「{}」がコードの対象なので、こちらを表示する際には{’{'}とする必要があります。
また、
$smarty->compile_dir
で指定したディレクトリは実行ユーザー(apacheユーザー)が書き込み可能なフォルダでなければなりませんので、注意が必要です。
Posted in PHP | No Comments