2006-08-26 Sat
mod_perl と mod_phpの比較
- Summary
互角.
- Reference
ITmedia エンタープライズ - 2006-08-25 - LAMP vs. LAMP─ mod_perlとmod_phpのパフォーマンス比較
http://www.itmedia.co.jp/enterprise/articles/0608/25/news053.html
NewsForge - 2006-07-18 - LAMP vs. LAMP
http://programming.newsforge.com/article.pl?sid=06/07/18/1934200
2006-08-24 Thu
ffmpeg-php - PHPで動画を扱うためのライブラリ
- Summary
PHP 4.3.0+ , GD 2.0+, FFMPEG[2006-07-13-3] が必要.
- Sample
<?php $extension = "ffmpeg"; $extension_soname = $extension . "." . PHP_SHLIB_SUFFIX; $extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname; // load extension if(!extension_loaded($extension)) { dl($extension_soname) or die("Can't load extension $extension_fullname\n"); } ?>
- Reference
ffmpeg-php
http://ffmpeg-php.sourceforge.net/
ffmpeg-php - API documentation
http://ffmpeg-php.sourceforge.net/apidoc.php
- via
MOONGIFT - ffmpeg-php
http://oss.moongift.jp/intro/i-2267.html
2006-08-23 Wed
Ajax おさらい記事
- Reference
ITmedia エンタープライズ:Ajaxの真価はWebサービス連携にあり
http://www.itmedia.co.jp/enterprise/articles/0608/23/news003.html
2006-08-16 Wed
CakePHP - Ruby on Rails のような PHPのフレームワーク
- Reference
CakePHP : the rapid development php framework
http://cakephp.org/
p4life - 10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/
CakePHPの何か
http://puyo2.upper.jp/cake/
- via
オレンジニュース - 2006-08-15
http://secure.ddo.jp/~kaku/tdiary/20060815.html#p04
2006-08-16 Wed
smarty_ajax - Ajaxを使ったアプリを簡単に作れるSmartyプラグイン
- Summary
Smarty タグがJavaScriptコードに変換される.
- ajax_update
<a href="#" onclick="{ajax_update update_id='intro_content'
function='update_intro' params='page=about'}">About</a>
- parameters
| url | URL for AJAX-query (指定されなかった場合は現URL) |
| method | query method (デフォルトは get, get か postを選択) |
| update_id | アップデートされるHTML内のID |
| function | 呼ばれる function |
| params | URLエンコードされたパラメータ |
- ajax_call
<a href="#" onclick="{ajax_call function='calculate'
params_func='calc_params' callback='calc_cb'}">Calculate</a>
- parameters
| url | URL for AJAX-query (指定されなかった場合は現URL) |
| method | query method (デフォルトは get, get か postを選択) |
| function | 呼ばれる function |
| params | URLエンコードされたパラメータ |
| callback | クエリが完了した後に呼ばれる関数 (JavaScript) |
| params_func | クライアント側でパラメタ操作を行う関数 (JavaScript) |
- ajax_form
{ajax_form method="post" id="form_register"}
Any form-element can be placed here
{/ajax_form}
- parameters
| url | URL for AJAX-query (指定されなかった場合は現URL) |
| method | query method (デフォルトは get, get か postを選択) |
| params | URLエンコードされたパラメータ |
| id | form ID |
| callback | クエリが完了した後に呼ばれる関数 (JavaScript) |
- Reference
Dmytro Shteflyuk’s Home - 2006-02-19 - AJAX-enabled Smarty plugins
http://kpumuk.info/ajax/ajax-enabled-smarty-plugins/
smarty_ajax - AJAX-enabled Smarty plugins
http://kpumuk.info/samples/smarty_ajax/
- via
phpspot開発日誌 - 2006-08-15 - Ajaxを使ったアプリを簡単に作れるSmartyプラグイン『smarty_ajax』
http://phpspot.org/blog/archives/2006/08/ajaxsmartysmart.html
2006-08-16 Wed
Dojoライブラリを使ったオートコンプリート付きComboBox
- Reference
Kenneth Ko - Dojo ComboBox Test Page
http://home.exetel.com.au/cweatures/combosample/combotest.html
- via
phpspot開発日誌 - 2006-08-15 - Dojoライブラリを使ったオートコンプリート付きComboBox
http://phpspot.org/blog/archives/2006/08/dojocombobox.html
2006-08-10 Thu
PHPのフレームワーク Ethna 徹底解説
- Summary
Gree Labによる PHPフレームワーク Ethnaの解説ページ.
- 由来はやっぱり某RPG
http://labs.gree.jp/Top/Document/20060707.html#content_1_5
- Reference
GREE Labs - PHPのフレームワーク『Ethna』徹底解説
http://labs.gree.jp/Top/Document/20060707.html
- via
phpspot開発日誌 - PHPのフレームワーク『Ethna』徹底解説サイト
http://phpspot.org/blog/archives/2006/08/phpethna.html
2006-08-08 Tue
EUC-JP で変換できない機種依存文字を置換する
- Summary
UTF-8で変換できない機種依存文字を置換する[2006-06-19-13] のEUC-JP版 のつもり.
- 追記 [2006-08-09]
結果は失敗.
文字化け発生.
- Source
function replaceText($str){ $arr = array( // ADA0 - ADB4 "\xAD\xA1" => "(1)", "\xAD\xA2" => "(2)", "\xAD\xA3" => "(3)", "\xAD\xA4" => "(4)", "\xAD\xA5" => "(5)", "\xAD\xA6" => "(6)", "\xAD\xA7" => "(7)", "\xAD\xA8" => "(8)", "\xAD\xA9" => "(9)", "\xAD\xAA" => "(10)", "\xAD\xAB" => "(11)", "\xAD\xAC" => "(12)", "\xAD\xAD" => "(13)", "\xAD\xAE" => "(14)", "\xAD\xAF" => "(15)", "\xAD\xB0" => "(16)", "\xAD\xB1" => "(17)", "\xAD\xB2" => "(18)", "\xAD\xB3" => "(19)", "\xAD\xB4" => "(20)", // ADB5 - ADBF "\xAD\xB5" => "I", "\xAD\xB6" => "II", "\xAD\xB7" => "III", "\xAD\xB8" => "IV", "\xAD\xB9" => "V", "\xAD\xBA" => "VI", "\xAD\xBB" => "VII", "\xAD\xBC" => "VIII", "\xAD\xBD" => "IX", "\xAD\xBE" => "X", "\xAD\xBF" => "?", "\xAD\xC0" => "ミリ", "\xAD\xC1" => "キロ", "\xAD\xC2" => "センチ", "\xAD\xC3" => "メートル", "\xAD\xC4" => "グラム", "\xAD\xC5" => "トン", "\xAD\xC6" => "アール", "\xAD\xC7" => "ヘクタール", "\xAD\xC8" => "リットル", "\xAD\xC9" => "ワット", "\xAD\xCA" => "カロリー", "\xAD\xCB" => "ドル", "\xAD\xCC" => "セント", "\xAD\xCD" => "パーセント", "\xAD\xCE" => "ミリバール", "\xAD\xCF" => "ページ", "\xAD\xD0" => "mm", "\xAD\xD1" => "cm", "\xAD\xD2" => "km", "\xAD\xD3" => "mg", "\xAD\xD4" => "kg", "\xAD\xD5" => "cc", "\xAD\xD6" => "m2", "\xAD\xDF" => "平成", "\xAD\xE0" => "``", "\xAD\xE1" => "''", "\xAD\xE2" => "No.", "\xAD\xE3" => "K.K.", "\xAD\xE4" => "", "\xAD\xE5" => "(上)", "\xAD\xE6" => "(中)", "\xAD\xE7" => "(下)", "\xAD\xE8" => "(左)", "\xAD\xE9" => "(右)", "\xAD\xEA" => "(株)", "\xAD\xEB" => "(有)", "\xAD\xEC" => "(代)", "\xAD\xED" => "明治", "\xAD\xEE" => "大正", "\xAD\xEF" => "昭和", "\xAD\xF0" => "", "\xAD\xF1" => "", "\xAD\xF2" => "", "\xAD\xF3" => "", "\xAD\xF4" => "", "\xAD\xF5" => "", "\xAD\xF6" => "", "\xAD\xF7" => "", "\xAD\xF8" => "", "\xAD\xF9" => "", "\xAD\xFA" => "", "\xAD\xFB" => "", "\xAD\xFC" => "", "\xFC\xF1" => "i", "\xFC\xF2" => "ii", "\xFC\xF3" => "iii", "\xFC\xF4" => "iv", "\xFC\xF5" => "v", "\xFC\xF6" => "vi", "\xFC\xF7" => "vii", "\xFC\xF8" => "viii", "\xFC\xF9" => "ix", "\xFC\xFA" => "x", ); return strtr($str,$arr); }
- Reference
文字コード表
http://ash.jp/code/codetbl2.htm
2006-08-08 Tue
HTMLエンティティから元の文字に戻す
- Summary
文字列中のHTML特殊文字を元に戻す.
htmlspecialchars()の逆の操作.
function unhtmlspecialchars( $str ) { $entry = array_flip( get_html_translation_table( HTML_SPECIALCHARS ) ); return strtr( $str, $entry ); }
function unhtmlentities($string) { // 数値エンティティの置換 $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string); $string = preg_replace('~&#([0-9]+);~e', 'chr(\\1)', $string); // 文字エンティティの置換 $trans_tbl = get_html_translation_table(HTML_ENTITIES); $trans_tbl = array_flip($trans_tbl); return strtr($string, $trans_tbl); }
- Reference
マイクロチップス - PHP Tips
http://www.sound-uz.jp/php/tips/micro.html#c01
2006-08-04 Fri
PHP とデータベースに関する5つの問題と解決方法
- Summary
1. 直接DBにアクセスするな.
PEARのDBモジュール,又はPDOのクラスを利用しろ.
2. オートインクリメントを使え.
3. データベースを多重化するな.
4. リレーションを使え.
5. クエリを減らせ.
- Reference
IBM - Five common PHP database problems
http://www-128.ibm.com/developerworks/opensource/library/os-php-dbmistake/
IBM - PHP データベースに共通の 5 つの問題
http://www-06.ibm.com/jp/developerworks/opensource/060915/j_os-php-dbmistake.shtml
- via
GIGAZINE - 2006-08-04 - PHPとデータベースに関する5つの問題、とその解決法
http://gigazine.net/index.php?/news/comments/20060804_php_database_problems/
2006-08-01 Tue
Spike Security Audit Tool - PHPスクリプトの脆弱性検査ツール
- Reference
SpikeForge: Spike PHP Security Audit Tool
http://developer.spikesource.com/projects/phpsecaudit/
- via
phpspot開発日誌 - 2006-07-31 - PHPスクリプトの脆弱性検査ツール Spike Security Audit Tool
http://phpspot.org/blog/archives/2006/07/php_spike_secur.html
2006-08-01 Tue
Getting Rich with PHP 5 - Rasmus Lerdorf 氏による OSCON2006の資料
- Reference
Getting Rich with PHP 5
http://talks.php.net/show/oscon06/
- via
phpspot開発日誌 - 2006-07-31 - PHP5でもっとリッチに!OSCON 2006資料
http://phpspot.org/blog/archives/2006/07/php5oscon_2006.html
2006-08-01 Tue
checkdate - 日付の妥当性をチェックする関数
- Summary
for($year = 2004; $year < 2014; $year++){ $isLeapYear = checkdate(2, 29, $year) ? "leap year" : "not leap year"; echo "{$year} is {$isLeapYear}.\n"; }
- Reference
ほでなすPHP - 関数ミニリファレンス -> 日付・時刻関数
http://www.shigeweb.jp/php/project_p/?section=miniref&page=date#checkdate
checkdate
http://php.s3.to/man/function.checkdate.html
2006-08-01 Tue
ctype と is_* , str_* の処理速度比較
- Summary
ctype関数はCライブラリを使用しているため,is_*, str_*より高速とのこと.
だが実際に比較してみると,is_* の方が速い.
- ctype_digit 版
$t = microtime_float(); for($i=1;$i<=1000000;$i++){ if(ctype_digit(1234567890)) { print ""; } } print microtime_float()-$t."\n"; function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); }
- is_int 版
$t=microtime_float(); for($i=1;$i<=1000000;$i++){ if(is_int(1234567890)) { print ""; } } print microtime_float()-$t."\n"; function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); }
- Reference
1人で稼ぐ日記 - 2006-05-02 - [PHP]ctypeとis_num
http://kokoromo.jugem.cc/?eid=210
microtime
http://php.s3.to/man/function.microtime.html
2006-08-01 Tue
microtime - 現在のUnixタイムスタンプをマイクロ秒まで返す関数
- Summary
// PHP 5の動作を模擬する簡単な関数 function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); }
- Reference
microtime
http://php.s3.to/man/function.microtime.html
2006-07-28 Fri
PHP Design Patterns
- Reference
PHP Design Patterns | dikini.net
http://dikini.net/php_design_patterns
koshigoewiki - php - デザインパターン
http://www.koshigoe.sakura.ne.jp/dokuwiki/doku.php?id=koshigoewiki:php:%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
- via
phpspot開発日誌 - PHP5によるデザインパターンサンプルプログラム集
http://phpspot.org/blog/archives/2006/07/php5_3.html
phpspot開発日誌 - PHP5でデザインパターン
http://phpspot.org/blog/archives/2005/12/php5_1.html
2006-07-25 Tue
PHP から Instant Messenger を操作するライブラリ
- flumpCakes
PHP から MSN Messenger を操作するライブラリ
<?php include('msnp9.class.php'); include('msn_sb.class.php'); $msn = new msn; if ($msn->connect('EMAIL@hotmail.com', 'PASSWORD')) { $msn->rx_data(); } ?>
- Grab Yahoo
PHP から Yahoo! Messenger を操作するライブラリ
- Reference
PHP MSN Messenger Class : flumpCakes
http://flumpcakes.co.uk/php/msn-messenger
PHP Classes - Class: Grab Yahoo
http://www.phpclasses.org/browse/package/3127.html
- via
phpspot開発日誌 - 2006-07-25 - PHPからMSN Messengerを操作するクラスライブラリ : flumpCakes
http://phpspot.org/blog/archives/2006/07/phpmsn_messenge.html
2006-07-19 Wed
Patterns For PHP - PHPによるデザインパターン集
- Summary
デザインパターンをPHPで実装するためのサンプル.
- Reference
Patterns For PHP
http://www.patternsforphp.com/
2006-07-19 Wed
Enhanced Simple PHP Gallery
- Summary
header.php, footer.php が必要.
設定は http://example.com/path/to/gallery/config/ から可能.
validate.php の 13行目,14行目にユーザ名,パスワードがある.
以下のJSが必要.
http://memory.palace.org/js/toggle.js
以下を参考にCSS作成.
http://memory.palace.org/master/sp_styles.css
- デフォルトのアカウント
| username | demo |
| password | demo |
- Demo
http://memory.palace.org/demo/
- Reference
Point B Studio | Open Source Initiatives | eSPG v2.0
http://memory.org/point.b/open.source/
2006-07-14 Fri
Automatic Magazine Layout - PHPで画像を雑誌風に自動レイアウトするクラス
- Reference
A List Apart - 2006-07-11 - Automatic Magazine Layout
http://www.alistapart.com/articles/magazinelayout
- via
phpspot開発日誌 - 2006-07-14 - PHPで画像を雑誌風に自動レイアウトするクラス
http://phpspot.org/blog/archives/2006/07/php_50.html