2011-11-11 00:24
2011-10-20 15:43
[PHP] 以活躍指標顯示日期時間
function ShowTimeLive($date) {
$diff = time() - strtotime($date);
if($diff < 60){
return $diff.' 秒前';
}elseif($diff < 3600){
return round($diff/60).' 分鐘前';
}elseif($diff < 86400){
return round($diff/3600).' 小時前';
}elseif($diff < 432000){
return round($diff/86400).' 天前';
}else{/*超過5天*/
return date('n月j日',strtotime($date));
}
}
/*demo*/
echo ShowTimeLive('2011-10-13 21:14:42');
2011-10-20 15:31
[PHP] 使用簡易單位顯示檔案大小
function ShowBytes($size) {
$size=doubleval($size);
$sizes = array(
" Bytes",
" KB",
" MB",
" GB",
" TB"
);
if ($size == 0) {
return('n/a');
} else {
$i = floor( log($size, 1024) );
return (round( $size/pow(1024, $i), 2) . $sizes[$i]);
}
}
/*demo*/
for($size=0; $size<3000000; $size+=512) {
echo $size,' => ', ShowBytes($size),'<br />';
}
/*
0 => n/a
512 => 512 Bytes
1024 => 1 KB
1536 => 1.5 KB
2048 => 2 KB
2560 => 2.5 KB
3072 => 3 KB
3584 => 3.5 KB
*/
2011-10-20 15:26
[PHP] 格式化單位秒數
只要將秒數減去 28800 之後,丟進 date() 就OK了,不過只能顯示到小時,至於要有天數的部分就不能這樣做了,只能用在一些短時間的顯示。
for($sec=0; $sec<30000; $sec+=30) {
echo $sec,' => ', date('H:i:s',$sec-28800),'<br />';
}
/*
0 => 00:00:00
30 => 00:00:30
60 => 00:01:00
90 => 00:01:30
120 => 00:02:00
150 => 00:02:30
180 => 00:03:00
*/
2011-09-13 18:01
[轉載] Linux shell script 的彩色控制
轉載自:Linux shell script 的彩色控制
Linux 下的終端機畫面不是只能換換背景而已,顯示出來的顏色也是能控制的。使用的顏色就像以前的DOS 時代,或者現在的BBS 顏色控制方式一樣。
以shell 的顯示為例,顯示的格式如下:
\33[ 文字樣式 ; 文字顏色 ; 背景顏色 m
文字內容………………
\33[0m
文字樣式有列下幾種色碼可以使用:
文字顏色則都是3開頭,有下列色碼:
再來是背景顏色色碼,都是4開頭:
如果我要在畫面上顯示高亮度的綠色(32)及黑色背景,可以如下:
也可以分開來寫比較清楚
記得shell 輸出碼要用 printf 而不是用一般的 echo。echo 的話要寫成 echo -e 。
但並不是所有的終端機畫面都是用黑色背景的。如果我們不要指定它的黑色背景,讓它使用系統原始背景色,可以省略背景描述變成如下:
是不是就比較完美了呢。
其實這些控制碼和BBS 的還真像。
Linux 下的終端機畫面不是只能換換背景而已,顯示出來的顏色也是能控制的。使用的顏色就像以前的DOS 時代,或者現在的BBS 顏色控制方式一樣。
以shell 的顯示為例,顯示的格式如下:
\33[ 文字樣式 ; 文字顏色 ; 背景顏色 m
文字內容………………
\33[0m
文字樣式有列下幾種色碼可以使用:
- 0 一般亮度
- 1 高度度
- 4 加底線
- 5 灰底
文字顏色則都是3開頭,有下列色碼:
- 30 黑色
- 31 紅色
- 32 綠色
- 33 黃色
- 34 藍色
- 35 紫色
- 36 青綠
- 37 白色
再來是背景顏色色碼,都是4開頭:
- 40 黑色
- 41 紅色
- 42 綠色
- 43 黃色
- 44 藍色
- 45 紫色
- 46 青綠
- 47 白色
如果我要在畫面上顯示高亮度的綠色(32)及黑色背景,可以如下:
sprintf "\33[1;32;40m 我的文字 \33[0m"
也可以分開來寫比較清楚
sprintf "\33[1;32;40m " sprintf "我的文字" sprintf "\33[0m"
記得shell 輸出碼要用 printf 而不是用一般的 echo。echo 的話要寫成 echo -e 。
但並不是所有的終端機畫面都是用黑色背景的。如果我們不要指定它的黑色背景,讓它使用系統原始背景色,可以省略背景描述變成如下:
sprintf "\033[1;32m" sprintf "我的文字" sprintf "\033[0m"
是不是就比較完美了呢。
其實這些控制碼和BBS 的還真像。
2011-09-09 11:11
RamDisk 設定 & 瀏覽器 cache 設定
上次已經有建立過 RamDisk 一次了,最近重灌又在玩了一次,說真的,不紀錄下來,久久又會忘記了。
首先先設定 C:\boot.ini,在 [operating systems] 的最後加入 /PAE,這是為了讓 XP能夠定址到3G以上的空間,然後重新開機才會生效。





然後將多出來的記憶體建立成 RamDisk,先是要讓 SuperSpeed RamDisk 抓到多出來的記憶空間。



這裡選擇要自動搜尋,它會將沒用到的空間標記起來。

接著選擇建立一個新的 RamDisk,就會出現以下的畫面,先是設定空間的大小。






設定 Chrome 的快取目錄指向到 RamDisk 中,只要在開啟的連結中加入 --disk-cache-dir="P:\temp\chrome" 參數就可以改變快取目錄。


設定 Firefox 的快取目錄指向到 RamDisk 中,在 Firefox 的網址列中鍵入 about:config,進入進階設定的頁面中,然後新增一個名稱為 browser.cache.disk.parent_directory 的字串,其值為 P:\temp\firefox。





首先先設定 C:\boot.ini,在 [operating systems] 的最後加入 /PAE,這是為了讓 XP能夠定址到3G以上的空間,然後重新開機才會生效。
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff /PAE





然後將多出來的記憶體建立成 RamDisk,先是要讓 SuperSpeed RamDisk 抓到多出來的記憶空間。



這裡選擇要自動搜尋,它會將沒用到的空間標記起來。

接著選擇建立一個新的 RamDisk,就會出現以下的畫面,先是設定空間的大小。






設定 Chrome 的快取目錄指向到 RamDisk 中,只要在開啟的連結中加入 --disk-cache-dir="P:\temp\chrome" 參數就可以改變快取目錄。


設定 Firefox 的快取目錄指向到 RamDisk 中,在 Firefox 的網址列中鍵入 about:config,進入進階設定的頁面中,然後新增一個名稱為 browser.cache.disk.parent_directory 的字串,其值為 P:\temp\firefox。





2011-09-09 10:15
[jQuery] 等待多個 Ajax 請求完成
最近在找等待多個 Ajax 完成的方法,找到 jQuery.when函数分析這篇文章中有處理多個 Ajax 的方法,但對於數量不固定的狀況,jQuery.when 輸入參數的方式實在有點討厭,必須要指定 Ajax 的數量,還好想起有 apply 這個方法可以用,可以將 array 轉換成呼叫 function 的參數,這樣不管有多少數量,都可以很輕鬆的帶入到 jQuery.when 中。
/*將多個 Ajax 加到 array 中*/
var ajaxRequest=[];
for (var i=0; i<10; i++){
ajaxRequest.push(
$.ajax({
data: {'a':i},
success: function(data) {
console.log(data);
}
})
);
};
/*利用 apply 將 ajaxRequest 帶入 jQuery.when*/
var der=$.when.apply( $, ajaxRequest )
der.always(function() {
console.log(arguments);
alert('全部結束');
});
der.done(function() {
console.log(arguments);
alert('全部成功');
});
分類:
工作備忘,
JavaScript,
jQuery
0
回應
2011-09-05 14:10
[jQuery] textarea 自動高度很簡單
上網找了一些文章來看後,自己又再改了一改,發現很簡單就可以達到自動高度的功能,真是給他快樂的說。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>文字區塊自動高度</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function($) {
$("textarea.AutoHeight").css("overflow","hidden").bind("keydown keyup", function(){
$(this).height('0px').height($(this).prop("scrollHeight")+"px");
}).keydown();
});
</script>
</head>
<body>
<textarea class="AutoHeight"></textarea>
<textarea class="AutoHeight"></textarea>
<textarea class="AutoHeight"></textarea>
</body>
</html>
分類:
工作備忘,
JavaScript,
jQuery
5
回應
訂閱:
文章 (Atom)