PHP

CentOS5.4 / PHP5.1.6 / MDB2 / SQLite2の設定

CentOS 5.4にyumでphpをインストールする。 yum -y install httpd php php-pear しかしSQLiteをPECLでインストールするも失敗する。 pecl install SQLite そこでソースをダウンロードしてインストールする。 cd /usr/local/src/ wget http://pecl.php.net/ge…

PHPで数値文字参照を文字列に変換

数値文字列参照 あいうえお 文字列(UTF-8) あいうえお PHPで数値文字参照を文字列に変換するにはmb_convert_encoding関数を使う。 $str = "あいうえ&#12362"; echo $str; $str = mb_convert_encoding…

phpunitコマンドの使い方

テスト用のスケルトン・ユニットテストクラスを作成 /usr/bin/phpunit --skeleton MyClass コードカバレッジの結果をHTMLで出力 /usr/bin/phpunit --coverage-html coverage_dir MyClass

PHPをXDebugとVimでデバッグする (Ubuntu 8.10編とCentOS 5.4/4.5編)   

こんな感じでVim (GVimでもOK)でデバッグできるのでめちゃくちゃ便利。 端末上でできるのもかなりうれしい。 PHP5/Ubuntu 8.10編 XDebugをインストールする sudo apt-get -y install php5-xdebug XDebugの設定 sudo vim /etc/php5/apache2/conf.d/xdebug.ini…

PHP4とPHP5のDOM操作: PHP5への移行

PHP

PHP4とPHP5では以下のようにDOMのクラスや関数の名前などがだいぶ違う・・・ = '5'){ $dom = new DOMDocument(); $dom->load($xml); $root = $dom->documentElement; foreach($root->getElementsByTagName("tag1") as $section){ foreach($section->getEleme…

PHPで改行を削除

str_replace関数で可能だが $string = str_replace("\n", "", $string); $string = str_replace("\r\n", "", $string); $string = str_replace("\r", "", $string); 日本語処理を考えるとmb_ereg_replace関数の方が妥当。 $string = mb_ereg_replace("\n", "…

PerlからPHPにJSONを使ってデータを引き渡す

ハッシュやオブジェクトなどの複雑なデータ構造のものを引き渡すのにJSONを使うのが最適です。 PerlにJSONモジュールをインストール cpan cpan> install JSON PHP4にJSONモジュールをインストール(PHP5にはディフォルトで入ってる) PEAR版とPecl版があるが今…

キャッシュさせないようにHTTPヘッダーを設定する

Metaタグでキャッシュさせないようにする。 <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> PHPのヘッダー関数でキャッシュさせないようにする。 header('Last-Modified: '.gmdate( 'D, d M Y H:i:s' ).' GMT'); header('pragma: no-cache'); header("Cache-Control:…</meta></meta></meta>

PHPで文字列を正規表現を使って置換する

preg_replace関数で正規表現の置換 $q = '?page=test&ts=123348238'; $pattern = '/ts=(\d+)$/'; $newTS = '43242332'; echo preg_replace($pattern, $newTS, $q); 実行結果 ?page=test&ts=43242332

PHPで数字をフォーマットする

PHP

echo $year . format($month, 2) . format($day, 2); function formatNumber($number, $numDigits){ return sprintf("%0{$numDigits}d", $number); }

PEARのMDB2_Driver_sqliteを使ってみる

SQLiteをMDB2からアクセス。 require_once('/usr/lib/php/PEAR/MDB2.php'); $dsn = array ('phptype' => 'sqlite', 'database' => 'test.db'); $mdb2 =& MDB2::connect($dsn); if (PEAR::isError($mdb2)){ echo "ERROR: " . $mdb2->getMessage(); } //結果は…

PHPでSQLite

//DBをオープン $objCon = sqlite_open('test.db') or die ('Opening table failed'); //テーブルを作成 $sql = "create table user (id int, name varchar(10))"; $result = sqlite_query($objCon, $sql) or die ('Creating table failed'); //データを挿入…

HTMLフォームからファイルをアップロード

PHP

tmpフォルダーからimgフォルダーに移動する。 if ( isset($_FILES['IMG']) ) { $imgDir = 'img/'; $tmpName = $_FILES['IMG']['tmp_name']; $filename = $_FILES['IMG']['name']; move_uploaded_file( $tmpName, $imgDir.$filename ); }