9 月 10

PHPは今や5系が主流で、もうすぐ6系が出るとのうわさもありますが、

昔からのアプリケーションを使っている場合などは4系にせざるを得ないときがあります。

さて、2008年9月10日現在、PHP4系の最終版、 4.4.9のwindows版は致命的なエラーがあるとのこと。

現時点では4.4.8にしておきましょう。

ちなみにご存知の型が多いと思いますがテスト環境構築には

XAMPPをおすすめしますよ!(多分今は5系ですが)

7 月 26

頭では認識していても、今日も実装でミスってエラーにしてしまったので記録しておきます。

SQL文、WHERE句がORDER BY句よりも先に記述しなければなりません。

(PHP + MYSQLの経験上。ドキュメントでは未確認。)

そうしないとFatal Errorに。

7 月 22

OPENPNEでUTF-8にSJISが混ざった。

よく調べてみると、phpmyadminもなぜか一部SJISで出力される。

php.iniを調べるも、特に問題点が分からない。

httpd.confはどうだろう?他にも文字コードに関する設定ファイルあっただろうか。

MYSQLも対象か。

<解決策>

php.iniに、SJISのスクリプトが動くための記述があり。

こいつが今回の犯人らしい。

基本的にサーバ内はUTFなのでこれをすべて削除し、SJISの該当ディレクトリの.htaccessに以下を追記。

php_value mbstring.language Japanese
php_value mbstring.internal_encoding SJIS
php_value mbstring.http_input auto
php_value mbstring.http_output SJIS
php_value mbstring.encoding_translation On
php_value mbstring.detect_order auto
php_value mbstring.substitute_character none

これで、SJISのPHPもUTF8も問題なく動く(ハズ)

7 月 22

date(’Y/m/d H:i:s’,strtotime(”+7 day”))

でOK!

strtotime(”+7 day”)で1週間後のタイムスタンプ

date(’Y/m/d H:i:s’,strtotime(”next Sunday”))

なども可

7 月 18

PHPから携帯にメールを送るときは、半角カタカナとか、文字化けに悩むことが結構多い。。。

そんな場合は、

  • mail関数を使う。(mb_send_mailでなく)
  • 本文文字コードはISO-2022-JPを使う

で解決!こんな感じ

   $From = joey@hogehoge.com;

   $to = joey@bogeboge.com;

   $subject = “テストだよ”; 

      $mail_body = base64_encode(”ヘイ、ジョーイ”); 
  // カナは半角カナで!
      $mail_body = mb_convert_encoding($mail_body,”ISO-2022-JP”,”SJIS”);

      $header  = “From: $From.\n”;
      $header .= “Return-Path: $From.\n”;
      $header .= “Reply-To: $From.\n”;
      $header .= “Message-ID: {$MessageID}\n”;
      $header .= “MIME-Version: 1.0\n”;
      $header .= “Content-Type: text/plain;charset=ISO-2022-JP\n”;
      $header .= “Content-Transfer-Encoding: base64\n”;
      $header .= “X-Mailer:PHP/”.phpversion();

   if(!mail($to,$subject,$mail_body,$header)){
    echo “失敗”;
   }else{
    echo “成功”;
   }

上記でばっちり!

7 月 15

foreach文は入れ子でも動くみたい。

  foreach($hensu['hen'] as $key => $value){
   …
   foreach($hensu['hen'][$key] as $key2 => $value2){
  …
   }
  }

もっといい方法もあるのだろうか

Next Entries »

© PHPress since 2008