2008年02月22日

ftruncate

操作するファイルをfopenの追記モード「a」で開かないと正常に動作しない。

投稿者 masato : 22:50 | コメント (3422)

file_get_contents

file_get_contentsはflockを行わない。
手軽にファイルを読み込みたいなら、file関数を使うべき。

投稿者 masato : 10:40 | コメント (917)

2006年03月17日

mb_send_mailでの文字化け

PHP4では文字化けしなかったがPHP5で文字化けするようになった。
----------------------------------------------
mb_send_mail("masato_s@sb3.so-net.ne.jp", "Profile変更依頼".$member[2], $new_contents, "From: SFIDA");
----------------------------------------------

改善

----------------------------------------------
mb_language("Ja") ;
mb_internal_encoding("SJIS") ;
mb_send_mail("masato_s@sb3.so-net.ne.jp", "Profile変更依頼".$member[2], $new_contents, "From: SFIDA");
----------------------------------------------

投稿者 masato : 01:06 | コメント (701)

2005年12月07日

PHPでの文字化け2

PHPでは、Magic Quotes GPC(GPCとはGet Post Cookieの意味)という設定があります。この設定をonにすると、「'(シングル・クォテーション)」や「"(ダブル・クォテーション)」、「\」(「\」)を含む文字列があると、GetなりPostで受信した文字列に対して自動的にエスケープしてくれるというものです。例えば「John's name」を「John\'s name」と処理してくれるため、データベースなどに登録する際にエラーにならないというものです。一見すると非常に親切そうですが、実は厄介な問題を孕んでいます。この章で述べたとおり、Shift_JISでプログラミングすると、「5C = \」が現れる文字が存在します。このような場合、「十和田湖」「能力」「申し込み」「表示」などの文字列はPOSTなりGETで受信するたびに、「十\和田湖」「能\力」「申\し込み」「表\示」などのようにエスケープされていますから、そのまま表示してしまうと不細工極まりませんので、必ず stripslashesしなければなりません。

このMagic Quotes GPCの問題を考えても、Shift_JISでプログラミングするのは、文字コード全般の知識を有している場合やi-モードサイトの構築などでどうしても避けられない場合などを除いては避けるべきです。(もちろんMagic Quotes GPCをoffにすれば、この問題は発生しません。あなたがサーバの管理者でない場合も、.htaccessで設定可能です。「php_flag magic_quotes_gpc off」とすればOKです。データベース登録時には、addslashesなどの処理が必要です。)

投稿者 masato : 14:50 | コメント (1145)

PHPでの文字化け

php.iniファイルのdefault_charsetの項目を記述する

例)
default_charset = EUC-JP

などのように

投稿者 masato : 14:50 | コメント (918)