在經過之前所提過的修正之後, 的確可以在 Excel 的欄位中正確的使用 unicode 了. 不過最近在 Study-Area 有人提到 Worksheet 的名稱與列印的 Header 與 Footer 都不能使用 unicode. 試了一下, 果然不能正確使用. (閱讀全文)
話說前一陣子在 php 裡頭用到了 chmod 這個函式, 依據以往在 linux 下頭使用 chmod 指令的經驗, 加上使用 php 時, 並沒有做型別檢查的功能, 很自然的就會認為這個函式如同其他 php 的函式一般, 可以用數字也可以用字串來表示要更改的屬性. 而且, 的確在一開始的使用上, 做一些 o+w 或 o-w 之類的動作時, 都十分的正常, 一點都沒有懷疑這會有問題.
不過... 前幾天碰到了一個 g+s 的動作, 發現.... 一跑到這兒, 整個屬性反而被改成 000 了, 也就是被清空了. 這是怎麼回事呢?
想了很久, 也測了一些寫法, 最後, 終於在官方的 chmod 說明中看到, 這個 mode 參數, 只能是整數, 對於前述的字串參數來說, 是不對的. (說到這兒, 既然不允許, 是不是應該全部都失敗會比較好一些, 不要讓人誤以為可以使用, 結果... 只有某些情形下會不能用)
回頭把程式改了一下, 先取出屬性再做一堆 OR 運算, 自己弄出類似的結果, 然後再去把屬性改成自行運算後的結果, 這樣子果然就正常了. 有用到 chmod 的人, 自己注意一下吧.
一般來說, 我們在使用 php 去檢查使用者的帳號密碼時, 都是直接用該組帳號密碼去執行 ldap_bind() 的動作, 如果成功的話, 表示密碼是對的, 如果失敗的話, 表示密碼是錯的. (唯一的例外是... 如果密碼是空字串, 也會成功, 所以用這個方法要先檢查密碼是不是空的) 如:
但是, 如果要修改密碼時, 又該如何呢? 我們可以用下面的方式:
就是先用該使用者 (或有權限改密碼的帳號) bind 之後, 去更改 userpassword 這個屬性. 使用 md5 的方式去設定密碼.
以前, 在 FPDF 的中文支援中, 並不支援 UTF-8 編碼, 所以每次要產生 pdf 檔案時, 都要用 iconv 轉成 BIG5 或 GB 來使用. 如果同一段文字有簡體也有繁體時, 這個轉換就會有問題 (不過還好我們之前的案子, 還沒碰到這個問題, 系統把兩種編碼分開來用, 並沒有衝突的情形發生). 後來, 有人改了一個 unicode 版本的 FPDF, 雖然有支援 UTF-8 了, 但是... 作法是把字型檔也整個編入 pdf 檔案中, 結果.... 是可以使用沒錯, 但是... 原本幾 KB 的 pdf 檔案, 變成幾 MB, 根本沒有實用性. (閱讀全文)
首先, TLS 是在 Protocol Version 3 才有提供, 所以必須在 ldap_connect() 之後, 使用 ldap_set_option() 設定使用 protocol version 3 才可以. 如果這樣子處理, 並沒有辦法正確的執行 ldap_bind(), 則必須在你 client 端的 ldap.conf 中, 加上 TLS_REQCERT 這個參數, 其值為 nerver 或 allow 才可以. 如果沒有 ldap.conf, 也可以利用環境變數 LDAPTLS_REQCERT 來設定, 或直接使用 putenv() 來設定這個變數. (閱讀全文)
MySPAM v0.0.4a 推出, 其實早在半年多前, 小張張就把他做的搜尋功能給我了, 不過... 我一直懶的去動, 直到昨天有人問我這件事... 才動手改了一下. (閱讀全文)
修改之前發送 MSN 的 php calss. 修正一些 bug. (閱讀全文)
修改之前發送 MSN 的 php calss. 修正一些 bug, 並加上與 Yahoo 即時通互傳的功能. (閱讀全文)
修改之前發送 MSN 的 php calss. 加入一些小功能, 可以做成簡單的 msnbot. (閱讀全文)