PHP は Web 開発向きのスクリプト言語。
wordpress や dokuwiki も PHP で実装されている。
apache モジュールとして手軽に利用できる。
http://delicious.com/nishimotz/php
関連記事
Windows の PHP 5.3.1 でインタラクティブシェル。
C:\php53>php -a Interactive mode enabled <?php echo "a"; ?> ^Z a C:\php53>
TODO: 下記を比較する
http://php.net/manual/ja/migration53.php
PHP 5.3 から user.ini というディレクトリ単位でのINIファイルが使えるという話
since 2011-06-10
Mac OS X 10.6.5 にて確認。
http://www.php.net/manual/ja/install.macosx.bundled.php に書かれている手順のうち、
sudo nano /private/etc/apache2/httpd.conf
にて
# LoadModule php5_module libexec/httpd/libphp5.so
のコメントアウトを解除。
システム環境設定 → 共有 → Web共有を(onになってるならまずoffして)on にする。
これで拡張子 *.php のファイルで phpinfo() が動いた。PHP Version 5.3.3 だった。
TODO: apachectl graceful がエラーになる(下記):
$ sudo apachectl graceful Password: /usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument
PHP 5.3 で非推奨になった ereg 系を使っているスクリプトの warning
ereg_replace() を preg_replace() に直す。第一引数は / などの文字で囲む。
since 2010-12-05
http://www.ezinfo.jp/tips/divide 携帯端末の振り分け
iPhone, iPod touch を考慮するとこんな感じ?
<?php function get_browser_env() { if (strstr($_SERVER['HTTP_USER_AGENT'],"DoCoMo")) { $env = 'i'; } elseif (strstr($_SERVER['HTTP_USER_AGENT'],"Vodafone")) { $env = 'i'; } elseif (strstr($_SERVER['HTTP_USER_AGENT'],"SoftBank")) { $env = 'i'; } elseif (strstr($_SERVER['HTTP_USER_AGENT'],"MOT-")) { $env = 'i'; } elseif (strstr($_SERVER['HTTP_USER_AGENT'],"J-PHONE")) { $env = 'i'; } elseif (strstr($_SERVER['HTTP_USER_AGENT'],"KDDI")) { $env = 'ez'; } elseif (strstr($_SERVER['HTTP_USER_AGENT'],"UP.Browser")) { $env = 'i'; } elseif (strstr($_SERVER['HTTP_USER_AGENT'],"WILLCOM")) { $env = 'ez'; } elseif (strstr($_SERVER['HTTP_USER_AGENT'],"Mozilla/5.0 (iPod;")) { $env = 't'; } elseif (strstr($_SERVER['HTTP_USER_AGENT'],"Mozilla/5.0 (iPhone;")) { $env = 't'; } else { $env = 'pc'; } return $env; } if (get_browser_env() == 't') { $meta = '<meta name="viewport" content="width=device-width" />'; } else { $meta = '<link rel="stylesheet" href="css/pc.css" type="text/css" />'; } ?> <head> <?php echo $meta ?> </head>
since 2011-01-16
EUC-JP でプログラムを書いて mb_send_mail関数でメールを送ると受信側で文字化けしている。
下記を書いておけば解決:
mb_language("Japanese"); mb_internal_encoding("EUC-JP");
WebKit 系は EUC-JP を自動認識しないらしい。
プログラムの最初に:
mb_http_output('EUC-JP');
そして HTML meta も書いておく:
<head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> </head>
mb_detect_encoding() を使わない方がよいらしい:
// $enc = mb_detect_encoding($text); // $text = mb_convert_encoding($text, "EUC-JP", $enc); $text = mb_convert_encoding($text, "EUC-JP", 'auto');
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1013242835
サーバの設定にかかわらず JST で時刻をとりたい:
date_default_timezone_set('Asia/Tokyo'); $s = date("Ymd_His"); // 20050801_133035
日付と時刻はこういう方法も。
echo strftime("%Y-%m-%d", time()); # 2011-02-24
(int)$string_value で数字に。