Category: PHP
如果應用程式是開放給公眾使用, 過濾輸入資料的字元十分重要, 在 PHP 可以透過正規表達式做特定字元的檢查及過濾。 例如想將輸入的資料裡面全部非字母/數字的字元過濾可以這樣做: 這樣會印出: this is a teting 以上 preg_replace() 用的正規表達式會將英文字母, 數字及空格以外的其他字串過濾掉, 如果想將特別符號留下, 不想要字母, 數字及空格, 可以這樣: 這樣會印出: %%%&&&
RHEL / CentOS 4 預設的 PHP 版本是 5.3, 以下會介紹在 CentOS 6 透過 Yum 安裝 PHP 5.4 的方法: 1. 安裝 SCL repo # yum install centos-release-SCL 2. 安裝 php 5.4 …
鎖定檔案的目的是為了避免程式間的沖突,例如開啟了一個檔案要寫入資料,但如果未寫入時有另一個程式更新這個檔案,便會出現問題,PHP 內建有 flock() 可以對檔案鎖定,操作如下: flock() 第二個參數是設定鎖定或解鎖, 詳細可設定內容為: — LOCK_SH, 取得共享鎖定, 讀取用 — LOCK_EX, 取得獨佔鎖定, 寫入用 — LOCK_UN, 解除鎖定 — LOCK_NB, 不要讓 flock() 在鎖定時堵塞
有時想幾行字串看起來更整齊, 可以將短字串補上空白, 例如: Name: My Name Tel: 1234 5678 Website: http://phpini.com/ 可以看到上面的 Name: 及 Tel: 後面被上空格, 看上去跟 Website: 對齊, 在 PHP 可以用 str_pad() 做. 例如上面的例子,字串最長的 Website: 有 …
已經用 EditPlus 寫 program 一段時間, 一直也很滿意, 近來發現一款更好用的 editor: Subslim。當初想轉 editor 是因為想找一個跨平台的 editor, 可以讓我在 windows 及 mac 使用相同的開發環境。 看了一看後, 是給 Subslim 的黑色背景吸引, 看起來很漂亮, 而實際上使用了一段時間後, 感覺觀看黑底畫面眼睛好像更舒服。Subslim 的售價為 $70 美元, 可以同時安裝在自己的多部電腦, 我覺這個價錢是值得的, …
在 PHP shell_exec() 及 system 都可以執行外部指令, 使用上它們的分別主要來自回傳及輸出。 shell_exec(): 執行外部指令並回傳執行結果, 但不會印出執行結果: 而執行 shell_exec() 另一種方法是用 “" 符號 (按住 Shift 再按 1 那個), 例如 ls -l` 跟 shell_exec(“ls -l”) 是一樣的。 system(): 會執行外部指令並直接印出指令結果, …
PHP 內建的 substr 函式可以分割文字,但要分割的文字如果包括有中文字往往會遇到問題,這可以用 mb_substr() 來做。mb_substr() 的用法與 substr() 很相似,只是在 mb_substr() 最後要加入多一個參數,以設定字串的編碼,但要先讓 PHP 支援 mbstring 才可以。 在編譯 PHP 時加入 –enable-mbstring 選擇就可以加入 mbstring 模組了。以下是 mb_substr() 的使用方法: 以上的第三行要注意,將 BIG-5 修改成中文字所用的編碼,例如 UTF-8。
當用戶數量比較多時,用資料庫儲存用戶名稱及密碼是很好的選擇,但如果直接將用戶的密碼儲存在資料庫,即使資料庫要密碼才可以登入也有安全性的問題。例如系統管理員或者 Web Hosting 的員工便可以看到用戶的密碼,所以先將用戶密碼加密是必要的步驟。 PHP 內建了 MD5() 單向加密演算法,即只可加密,而不可以反向解密,以下是利用 MD5() 函式的具體方法: 這裡是將用戶密碼用 MD5() 加密後加插入資料庫: 檢查用戶名稱及密碼: 用以上方法寫出來的登入系統,只用用戶是知道自己的密碼,系統管理員最多只能夠修改密碼,而不能看到源始密碼是什麼。
Apple 發佈了 OS X Yosemite 10.10.2,根據官方文件這次更新包括: - Resolves an issue that may cause WiFi to disconnect - Resolves an issue that may cause web pages to load slowly - …
一直以來要用 PHP 以 root 身份執行系統管理工作的問題,就是 PHP 會以 apache 的身份執行,解決方法有安裝 suPHP 或 super 這類工具,但個人認為還是 Sudo 較為安全。首先要安裝 Sudo,據我所知 RHEL, Ubuntu 已經內置,Debian 只要用 apt-get 安裝就可以,以下是 FreeBSD 的安裝方法: FreeBSD 安裝 Sudo # cd …