星期五, 十一月 30, 2007

PHP 驗證 Email -檢查 DNS 的 MX 是否有通

驗證 Email 通常最簡單的就是判斷 '@', 要再準確一點, 就去判斷一下 DNS 的 MX 有沒有設囉~ :)

dig mx DOMAIN_NAME

這樣就可以列出 DOMAIN_NAME 的 MX 是設怎麼樣~

 (閱讀全文)

星期三, 十一月 28, 2007

寫 JavaScript 需要的 VIM Syntax 和 Plugin 檔

預設 vim 來寫 JavaScript, 會發現到 Plugin 很糟, 主要是縮排(indent), 根本跟沒縮沒什麼兩樣, 要看程式碼真苦, 所以就去找了一下, 加了一個 Plugin 後, 整個程式看起來舒服多了, 縮排做的好, 對讀懂程式就已經成功一半了~ :)

 (閱讀全文)

星期日, 十一月 25, 2007

PHP: 英文的數字值 轉換成 阿拉伯數字的值 程式

這星期臨時需要一個將英文的數字值, 轉換成 阿拉伯數字的程式, 發現怎麼找都是 數字 => 英文, 就是找不到 英文 => 數字.(需求就是同 English-Number Translator 這篇).

大致要做的就是如下的例子:

six => 6
negative seven hundred twenty nine => -729
one million one hundred one => 1000101 
 (閱讀全文)

星期五, 十一月 23, 2007

交換兩個變數 (不使用 tmp 變數) 程式寫法

在這邊看到 交換兩個變數 這篇文章, 讓我想到以前書上看到的寫法, 覺得蠻神奇的, 印像特別深刻, 在此記錄一下寫法~ :)

 (閱讀全文)

星期五, 十一月 09, 2007

PHP 要截圖片的某個區塊(截圖)

PHP 的縮圖/放大這種寫很多, 但是似乎截圖沒什麼範例可以參考, 還蠻簡單的, 跟縮圖差不多, 只是參數上有些不同而已~ :)

 (閱讀全文)

星期五, 十一月 02, 2007

SVN 將所有 ? 狀態 的檔案列入新增

SVN 在第一次使用 Import 後, 就都要使用 add 來新增檔案, 通常在修改完後, 會 svn status 看看這次有改哪些檔案, 順便看看哪些檔案需要 add 進去.

 (閱讀全文)

星期五, 十月 12, 2007

PHP5 物件相互引用, 造成 Memory Leak

PHP5 的 物件A 裡面再 new 物件B, 然後 unset(物件A), 會發現 Memory 還是存在(Memory Leak) 的狀況, 然後如果程式繼續不斷的遞迴跑下去, 很快記憶體就會使用完, 然後就會出現 PHP Fatal error:  Allowed memory size of .. 等的錯誤訊息.

可詳見: Bug #33595 recursive references leak memory

 (閱讀全文)

星期二, 十月 09, 2007

MySQL Timestamp 型態 的 屬性(新增/修改 自動更新 Timestamp型態 的 欄位)

MySQL 的 timestamp 型態 的屬性比較特別, 預設 timestamp 的屬性是, 只要有值 新增/修改(同一個row), MySQL 會自動幫你將 "timestamp 型態的欄位" 寫入現在時間.

有兩種屬性可供調整使用:

  • 自動初始化: 此欄位 寫入 資料時, 自動將 timestamp 的欄位寫入現在時間(建立時, 自動寫入時間).(DEFAULT CURRENT_TIMESTAMP)
  • 自動更新: 此欄位 修改 資料時, 自動將 timestamp 的欄位寫入現在時間(更新時, 自動寫入時間). (ON UPDATE CURRENT_TIMESTAMP)
 (閱讀全文)

星期日, 十月 07, 2007

JavaScript Fix CSS, 讓 IE 5/6 的 CSS 顯示/動作 跟 IE 7 一樣

同樣的 CSS 在 IE5/6/7 顯示的效果都有可能會有所不同, 所以就有人寫 JavaScript 來解決 IE7 上可以跑, IE5/6 不能跑(或不能顯示)的問題. (ex: png 透明圖 就是最常遇到的問題).

 (閱讀全文)

星期四, 十月 04, 2007

PHP: 於 Apache1.3 和 Apache2.0 抓到的 $_SERVER['SCRIPT_NAME'] 值不同

所以說最近踩的地雷特別多, 要判斷目前是否在此頁面, 通常可以用 $_SERVER['SCRIPT_NAME'] 來抓值, 但是在 Apache 1.3 和 Apache 2.0 抓到的值是不一樣的.

 (閱讀全文)

星期三, 十月 03, 2007

JavaScript: substr() 負數的算法 IE, Firefox 不同

最近踩的地雷真多, IE 對 margin-top 的負數, IE6/7 都不同, 然後臨時又發現 JavaSciprt 的檢查在 IE 有問題, 大概情況是如下:

做圖片上傳, javascript 的檢查最簡單的就是檢查檔名後四個字元, 再轉小寫, 去看看是不是 .jpg, jpeg, .bmp, .png ... 等. 於是就用 substr 來取最後四個字元囉~

 (閱讀全文)

星期日, 九月 16, 2007

使用 gettext 來實做 PHP 多國語系支援(I18N)

要做多國語系支援的網站或程式有很多方式, 常見的是設某種國家的語系檔, 然後檔案內都是變數, 之後程式依照使用者的語系的, 去讀語系檔, 以此來達成多國語系.

而 gettext 是另一種標準的方案, 可以 ls /usr/share/locale/zh_TW/LC_MESSAGES 看看, /usr/share/locale 放著各種語系的翻譯檔(翻譯系統程式, ex: apt.mo, dpkg.mo)(*.mo是編譯過的翻譯檔).

現在來用 php + gettext 實做多國語系的支援吧~

 (閱讀全文)

星期四, 九月 13, 2007

好文: 抓蟲特攻隊秘技大公開(Debug)

程式 Debug 是一定要的, 說寫出來的程式沒有任何問題, 請不要相信他的傻話(程式只有幾行的不在此限, 或者 請想像我指的是一套 系統).

此人(或說 下述四篇文章)把 Debug 的流程做整理和撰寫, 不管初學者或資深者都蠻適合研讀一下, 不一定要四篇都看, 主要是看第一篇.

最後一篇的這句話 一次只解決一個臭蟲 蠻經典的, 這句話的另一個意思是, 不要解 1 個 Bug 後,  又生出 2個其它的 Bug 來. XD

 (閱讀全文)

星期五, 八月 31, 2007

PHP function: 亂數密碼產生

亂數密碼產生的 function 蠻常用的, 還是直接 Release 一個出來修改比較方便 :P

總之密碼原則就是 6~8 個字以上, 然後包含英數字大小寫, 再加上符號, 就是比較安全的密碼, 通常想密碼很辛苦, 最簡單的就是用這種產生器, 產生出一組符何上述條件的, 想辦法背起來, 半年 ~ 1年換個一次密碼 (建議是 3個月要換一次. XD)

 (閱讀全文)

星期五, 八月 24, 2007

Debian Linux: ADSL PPPoE 自動重撥 Script

昨天早上網路(PPPoE)斷線, 沒有察覺到, 正好整天都不在家, 在外面要連回來查資料才發現, 這個小站死掉還蠻痛苦的(資料都懶得記, 直接寫在上面), 果然有些東西還是得要用腦袋記... XD

但是想想用腦袋記還是太辛苦(頭腦不好 XD), 還是寫隻 Script 做斷線重撥的動作好了. Orz..

 (閱讀全文)