夕口技術錄

專業上的小常識,備而用之~

Monthly Archives: 八月 2008

[PHP][MySQL] – mysql_insert_id() 迴圈時只能取得第一次的id

今天在 php 迴圈中使用 mysql_insert_id() 以取得上一筆 insert query id 值時,
發現不知為何只能在迴圈第一次中取得 insert_id 值,
其它筆則都只得到 0
… @@
到最後才發現原來在連續使用 mysql_insert_id() 時,
因是共同使用同一個資料庫連線,
因此 mysql_insert_id() 會無法判斷出是新的一筆資料進行寫入,
所以就傳回 0
故在這樣的情況下就需先進行中斷原先資料庫連線,
下一次使用前再開啟就可以了,
如下範例:
閱讀全文

[PHP] – 判斷是否為中文字

在取得AD傳回的群組時,
AD群組可命名為英文或中文的字元,
因此遇到需先判斷是否為中文字的問題,
左思考右思考,
用正規表達式也無法全包含我要的效果,
因此想到用長度來作為判斷得基準,
因中文字元碼的關係,
在把它轉換為UTF-8時,
UTF-8下中文字元的長度一定要長於BIG-5下的字元長度,
所以就利用這個特性寫出了下方的函數…
閱讀全文

[MySQL][GREATEST][LEAST] – 判別最大值或最小值

如何在Query語法中去判斷所帶入字串中取出最大值呢?
一般常會用PHP在外面判斷好再帶進,
但其實MySQL早就提供類似的Function哦!!!
方法如下:
來源自 MySQL 官方
閱讀全文

[Linux][Shell][iconv] – 遞迴轉語系檔SHELL

我們都知道用 Linux iconv 去轉換相關語系檔時,
是非常方便的小 Shell,
但如要批次進行轉換時要如何用呢 ?
同事TB幫我找到了以下的方式…

[Gogrok][新功能] – 朋友EZ看

Gogrok 這套遠端桌面分享程式,

現在出了朋友EZ看的功能,

還滿好玩的,

如有興趣的話,

請到這裡了解啦^^

Gogrok 朋友EZ看

[atime][ctime][mtime] – 差別

* modification time (mtime):當該檔案的『內容資料』變更時,就會更新這個時間! 內容資料指的是檔案的內容,而不是檔案的屬性喔!
* status time (ctime):當該檔案的『狀態 (status)』改變時,就會更新這個時間,舉例來說, 像是權限與屬性被更改了,都會更新這個時間啊~
* access time (atime):當『該檔案的內容被取用』時,就會更新這個讀取時間 (access)。 舉例來說,我們使用 cat 去讀取 ~/.bashrc ,就會更新 atime 了。

舉例:
[root@linux ~]# ls -l /etc/man.config
-rw-r–r– 1 root root 4506 Apr 8 19:11 /etc/man.config
[root@linux ~]# ls -l –time=atime /etc/man.config
-rw-r–r– 1 root root 4506 Jul 19 17:53 /etc/man.config
[root@linux ~]# ls -l –time=ctime /etc/man.config
-rw-r–r– 1 root root 4506 Jun 25 08:28 /etc/man.config

以下資料轉載自 鳥哥

[crontab][/var/log] – 定時清除 log 檔

/var/log/目錄下可能包含一堆log檔,
時間一久所累積的檔案數及量是非常驚人的,
因此定期自動刪除可以空出更多硬碟空間,
假設每個月執行一次,可以在/etc/crontab設定如下:

crontab -e

# 每天零晨1分執行檢查一次 *.* 狀態 (status)改變時間超過15天的資料,加以清除
00 01 * * * root find /var/log/ -name “*.*" -ctime +15 -type f -print0 | xargs -0 /bin/rm -f

其他目錄下的log檔也可比照辦理。