メイン

PHP アーカイブ

2008年2月 2日

ついにきた、MTのオープンソース化!


MTOS: Movable Type オープンソース・プロジェクト | MovableType.jp
http://www.movabletype.jp/opensource/

前々からGPLで出るとは聞いていましたが、ようやくきましたね。

さて、気になるのはライセンス形態ですが・・・
サイトを見てもよくわからなかったのでMTマニアにはおなじみの小粋空間で見てみると

小粋空間: MTOSリリースと日本語化手順 http://www.koikikukan.com/archives/2008/01/26-011555.php
4.ライセンス

MTOSは無償で商用利用可能です。ユーザー数も無制限、再配布可能です。Movable Type4.1とほぼ同機能です(カスタムフィールドと汎用ウェブサイトテンプレートセットはサポートされていません)。
ただし、Six Apartのサポートはありませんので、コミュニティ等で解決する必要があります。

MTOS のライセンスについては、WebSig24/7の記事の小川さんの資料が役に立つでしょう。

とのこと。
やっとですね!MTをお客様にお勧めしたくてもライセンス料が高額で出せないパターンがたくさんありました。これからは躊躇なく導入をお勧めできるというものです。すばらしい!

2007年11月 4日

EcCubeについてまとめ

非常に使えそうなECサイト構築用のWebアプリ。
簡単に言えば、商用利用もタダでできてPC/携帯両対応。
クレカ決済も標準対応でポイント管理有り。
なおかつ日本製なので日本の商環境にマッチ。
世界対応よりも日本対応のほうが強い、とおもいました。

自分なりのまとめのマインドマップを作ってみたので掲載してみます。
eccube.pdf

-

しかし、マインドマップは初めて本格的に使ってみましたが、便利なものですね。
まとめメモが作りやすいこと作りやすいこと。
問題点としては作ったデータがでかくなると見にくい、ということと
感覚的に作りすぎて他の人からはわかりにくいといったところでしょうか。

2007年9月22日

PHPでQRコード生成

PHPでQRコード生成

ずいぶんと簡単にQRコードを作れるようです、が、簡単すぎると応用が聞かないのが困りモノですね。
QRを画像として保存したいのですが・・・

2007年7月16日

携帯電話の「簡単ログイン」は個体識別番号を使ってこんなふうに作れます|WEBクリエイターの木

携帯電話の「簡単ログイン」は個体識別番号を使ってこんなふうに作れます|WEBクリエイターの木 http://ameblo.jp/yosswi/entry-10036647527.html

簡単ログインの作り方。
作り方そのものはたいして難しくない様子。
それより問題なのは機種別の確認方法だと思われます。
種類そろえるのはなかなか大変ですから・・・
それから各端末毎の登録の仕方を解説するのもきついですね

2007年7月15日

メールアドレスに使える記号

フォームに入力したメールアドレスをチェックをする際、どういった文字が使われているかチェックする場合、実際記号の扱いはどうなっているのか気になったので調べてみました。

参考:http://plusd.itmedia.co.jp/mobile/0310/17/n_meado.html

 3キャリア共通なのは、利用可能なのが英数半角文字と一部記号という点。文字と文字との間にスペースを入れられないのも共通している。

 いずれのキャリアでも利用できる記号は、「.」(ピリオド)と「-」(ハイフン)。「.」は10月15日からボーダフォンでも使えるようになり、3キャリア共に利用可能になった。

 ドコモとボーダフォンでは使えるがauで使えないのが「_」(アンダーバー)。ただし他キャリアから送られた「_」付きメールアドレスからのメールは問題なく受け取れる。

実際のところ、なんでもあり・・・です。

SmartyのテンプレートをShift_JISで記述するには

Smartyのテンプレートは実はEUC-JPが基本になっています。
そもそもデザインとプログラムを分離するという目的がありながら、デザイナーが普段使わないEUC-JPでのコーディングを求めるとはいかがなものでしょうか。

と、思いましたが、仕方ないのでShift_JISで動かす方法を探してみました。

参考http://www.bmedianode.com/hiki/Smarty/?%A5%C6%A5%F3%A5%D7%A5%EC%A1%BC%A5%C8%A4%F2Shift_JIS%A4%C7%B5%AD%BD%D2

Smarty は、特にマルチバイト処理を考慮して開発されているわけではないので、テンプレートファイルをEUC-JP以外の文字コードエンコーディングで記述してしまうと上手く動作してくれません。携帯電話向けのサイトなどで、ページをどうしてもShift_JISで出力したい場合は「プリフィルタ」および「ポストフィルタ」という機能を使用してエンコーディング変換を行います

プリフィルタ

プリフィルタ(pre-filter)は、テンプレートがコンパイルされる前に呼び出されるユーザ定義関数です。関数をプリフィルタとして登録するには、関数名を引数としてSmartyインスタンスのregister_prefilter()メソッドを呼び出します。

$smarty->register_prefilter("convert_encoding_to_eucjp");

上記の場合は、テンプレートのコンパイルに先立ってconvert_encoding()関数が呼び出されます。関数には第一引数としてテンプレートのソースコードが、第二引数として Smartyインスタンスのリファレンスが渡されるので、ソースコードに対して必要な処理を行った結果を戻り値として返すようにします。

function convert_encoding_to_eucjp($template_source, &$smart) {
if (function_exists("mb_convert_encoding")) {
// mbstringモジュールが利用可能でテンプレートがEUC-JPでない場合は
// 文字コードを変換する
$enc = mb_detect_encoding($template_source, "auto");
if ($enc != "EUC-JP") {
return mb_convert_encoding($template_source, "EUC-JP", $enc);
}
}
return $template_source;
}

ポストフィルタ

ポストフィルタ(post-filter)は、テンプレートがコンパイルされた後に呼び出されるユーザ定義関数です。関数をポストフィルタとして登録するには、関数名を引数としてSmartyインスタンスのregister_postfilter()メソッドを呼び出します。

$smarty->register_postfilter("convert_encoding_to_sjis");

上記の場合は、テンプレートのコンパイルが完了した後に convert_encoding_to_sjis()関数が呼び出されます。 関数には第一引数としてテンプレートのコンパイル済みのソースコードが、第二引数としてSmartyインスタンスのリファレンスが渡されるので、ソースコードに対して必要な処理を行った結果を戻り値として返すようにします。

function convert_encoding_to_sjis($template_source, &$smart) {
if (function_exists("mb_convert_encoding")) {
return mb_convert_encoding($template_source, "SJIS", "EUC-JP");
}
return $template_source;
}

メールアドレスのルール

メールアドレスは大文字と小文字、どう違うのか?

大文字と小文字については、現在のインターネットのメールサーバやソフトでは 区別されないようになっているのが普通です。

ただし、原則としては、アカウント名の部分については、大文字と小文字を区別
するということになっていたはずです。ドメイン名(ホスト名)の部分は、
区別されないということだったはずです。

例外は Postmaster で、これだけは、大文字小文字がごっちゃの表記であっても
同一のアカウントとして認めるようになっていたはずです。


とのこと。

printとechoの違い

意外と知らないprint文とecho文の違い。

まずprintは「関数」であり、出力が成功した場合は真、失敗した場合は否の値を戻します。しかしechoは「言語構造」であり、戻り値なんて当然ありません。この差により、printに比べてechoの方が少しだけ処理が軽いようです(管理人は常にechoを使用しています)。

と、どこかのサイトに書いてありました。
普通の用途では大差ないということですね。
ただ、マニアックな状況だと激しくわかりにくいトラブルを引き起こしそうですね・・・

フォームの入力値がブラウザの「戻る」ボタンを押すと消えてしまう問題

たまに件名のような現象が発生します。
基本的にはIEのバグで発生するようですが、現実的には、ブラウザの機嫌によって情報がきちんと戻されたり、戻されなかったりするらしいので、対策は非常に難しいそうです。

参考・Microsoft
http://support.microsoft.com/default.aspx?scid=kb;ja;416673

手っ取り早い解決策はCookieに値をしまっておくこととのこと。

2007年4月 4日

PHPによる中国語(簡体字)で構成されるメールの送信の仕方

「PHPによる中国語(簡体字)で構成されるメールの送信の仕方」のまとめです。
基本的には下記を守ればOKっぽいです。

・本文と件名を「mb_convert_encoding」で「GB2312」に変換してあげる。
※UTF-8は中国環境でも読めるには読めるのですが、Webメーラー(Hotmail等)で対応していないため、結局使えません。
・mb_sendmailは使わずにmail関数で送る。

意外とカンタンでした・・・

注意事項としては、
・当然日本語は使えません。混ざっていると文字化けを発生させてしまいます。
 ※ひらがな、カタカナ、中国語にもある漢字、は大丈夫なようです。
・mb関連の設定は全部不要。「mb_internal_encoding」とか「mb_language」とかは、「mb_sendmail」を使わないので不要な感じです

※関連情報

http://ash.jp/code/code_zh.htm
http://www.securehtml.jp/utf-8/php_utf_mail.html

2007年3月29日

mod_rewriteによる拡張子の変換について

拡張子の変換について下記内容を確認

Apache URL Rewriting Guide

From Static to Dynamic

Problem Description:

見られないような方法で、静的なページ foo.html を動的な foo.cgi に変換するにはどうしたらいいでしょう。ブラウザ、ユーザからの通知なしで。

Problem Solution:

CGI スクリプトに URL を rewrite して、CGI スクリプトとして本当に走るように正確な MIME-type にします。この方法で内部的な /~quux/foo.html へのリクエストは /~quux/foo.cgi を呼び出すようになります。

RewriteEngine on
RewriteBase /~quux/
RewriteRule ^foo\.html$ foo.cgi [T=application/x-httpd-cgi]

上記中、まず「/~quux/」というのは、対象となるディレクトリ。サーバールートからのパスなどではなく、URLに記入したディレクトリだけ書けば十分みたいです。

あと、盲点としてはURLの後ろに拡張子にあわせた「application/x-httpd-cgi」みたいなのを書かないとダメなことでしょうか。phpなら「application/x-httpd-php」ですね。

上記を修正して成功!

2007年3月24日

SEO対策PHP隠蔽

SEO対策 - PHPページも検索されたい! - Fuzyのプログラミング(?)メモ - 楽天ブログ(Blog)

pathinfo2.php
list(,$_GET['a'], $_GET['b']) = explode('/', $_SERVER['PATH_INFO']);
echo "パラメータaは、{$_GET['a']} です
";
echo "パラメータbは、{$_GET['b']} です
";
?>


えっ
こんな方法で拡張子隠してるんですか。
自力で/で分割って・・・・
意外とこじんまりしてますね・・・

-

追記

mod_rewriiteで拡張子を隠した上で、変数を処理するときに上記のように、というお話です。
それをやらないと頭かくして尻かくさず、ってことに。

2007年3月10日

WinでMingインストール

php.iniのextensionの

;extension=php_ming.dll

の頭のセミコロンを取るだけ・・・だったはずだが、なぜか動きません。
Mingを使ったプログラムを起動すると

GIF images must be translated into DBL

って感じで怒られます。

PHP Version 4.3.10

では駄目なのだろうか・・・
調べてみると通常dblという拡張子に変換しなければいけなかったみたいです。
うーん・・・
めんどくさいので・・・

PHP Version 4.4.6

にバージョンアップ。
問題解決です。
4.3だとどうもmingのバージョンが古いのかな?

About PHP

ブログ「ちきんぶれいん.com」のカテゴリ「PHP」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはperlです。

次のカテゴリはサーバーです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。