PHP 測量程式執行時間

程式在執行時, 遇到莫名奇妙執行很久, 但又不知道是什麼問題的時後, 就用此 function 來將每個執行的時間印出來, 將可輕易找出問題所在.

<?php
function getMicrotime()
{
    list($usec, $sec) = explode(' ', microtime());
    return ((double)$usec + (double)$sec);
}?>

使用方法:(以抓 mysql_connect() 時間為例)

<?php
$start = getMicrotime();
mysql_connect('localhost', 'id', 'password');
$end = getMicrotime();
$time = $end - $start;
echo "mysql_connect 執行時間: $time";
?>

註: PHP5 以後, 可以採用下述作法:

<?php
$time_start = microtime(true);

// Sleep for a while
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;
?>

<?php
$time_start = microtime(true);

// Sleep for a while
usleep(100);

$time = microtime(true) - $time_start;
?>

CVS 加 TAG 標籤

要 Release 一個新版本的時後, 可以順便做個 tag, 將此 release 的各個檔案版本資訊都記錄下來, 之後要取得也可以方便取的.

CVS 要加個 tag 的方法如下:

加 tag: cvs tag tag_name
EX: cvs tag public-release-2-0-20060105-stable
取出 tag 的版本: cvs co -r tag_name output_path
EX: cvs co -r public-release-2-0-20060105-stable work/plog/

閱讀全文〈CVS 加 TAG 標籤〉

防止表單送出兩次又能禁止留空

寫網頁的程式最怕的就是 Double Submit(同一時間重覆點擊), 只要簡單加上一段就可以解決這種問題. (於 input 點下去的時後, 馬上將此 button disable 掉)

加此行: onclick="this.disabled=true"

Ex:
<input type="button" name="Submit" value="Submit" onclick="this.disabled=true" />

閱讀全文〈防止表單送出兩次又能禁止留空〉