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
2008/6/27 金曜日 by kouichi
HTTPリクエストのログをうまいこと出力できないかなぁと思案していました。
$reqからパラメータをひとつひとつgetするのは芸がないので、
print_r($req->getParams())
とかを使ったところ、レスポンスにArrayの情報が出力されてしまいどうもNG。
とのことで調べると、
print_r($req->getParams(),true)
と第2引数があるらしいとのことで
$log = new Zend_Log();
$log->addWriter(new Zend_Log_Writer_Stream('log.log'));
$log->log('request data = ' . print_r($req->getParams(),true),Zend_Log::INFO);として、うまく出力できました。
こちらを観ると
~~~
print_r() の結果を取得したい場合には return 引数を試用してください。 print_r() はデフォルトでは結果を直接表示してしまいますが この引数が TRUE の場合には結果を戻します。
~~~
とのこと。
デフォルトが標準出力というは、PHPがスクリプト言語だという特徴がでているんだろうなぁと、背景をしみじみと感じつつ。
Posted in PHP | No Comments