Category: PHP
用 PHP 發送純文字 Email 很簡單, 但如果要發送一封 HTML 格式的 Email, 只需要在 mail() 裡面加入 MIME 版本及 Content-type header 就可以完成, 要注意的是如果發送的是中文電郵, 需要指定使用的 charset, 以下是發送 HTML Email 簡單的例子: 以上用的方法是直接使用 mail() 函式, 再定義 MIME …
PHPMailer 是大個功能強大的 PHP 電郵 class, 而且使用十分簡單, 原本要多行程式碼才可以完成關於電郵的工作, 用 PHPMailer 只要幾行就完成, 以下是用 PHPMailer 發送帶附件電郵的方法: 1. 到 http://github.com/PHPMailer/PHPMailer 下載 PHPMailer. 2. 將 PHPMailer 放到伺服器後, 在程式載入 PHPMailer 就可以使用, 以下是使用例子: 以上程式碼會發送電郵到 to@emailaddress, 並加入 …
PHP 連接 MySQL 可以很簡單直接地 mysql_connect() 或 mysqli_connect(), 那麼為什麼是要 PDO? PDO 是功能更為強大的資料庫 API, 即使將來要轉換資料庫系統, 只需更改連接的參數, 不需每個出現 mysql_* 函式的程式碼都修改, 以往要做到這樣, 通常是寫一個簡單的連接 MySQL class, 或者直接用 ADOdb 之類來做。 另一個優點是 PDO 會自動將用戶的輸入清理乾淨, 即防止 SQL …
要儲存一些敏感的資料在檔案或資料庫, 基於安全考慮還是將資料加密, 在需要時再進行解讀, 在 PHP 5.5 開始內建了加密函式 password_hash(), 操作上簡單了不少。如果在其他 PHP 版本, 便需要載入加密的相關模組, 以下是不同版本實現的方法: PHP 5.5 或以上: 要驗證用戶輸入的密碼, 可以用 password_verify(): 未到 PHP 5.5, 但在 5.3.7 或以上 (包括 Redhat PHP 5.3.3 …
PHP 在 5.3 前要計算日期很麻煩, 在 PHP 5.3 開始已經內建相關函式, 計算日期變得簡單很多, 例如要計算兩個日期的差距, 可以這樣: 而且輸入的日期格式限制很少, 例如上面的日期格式可以輸入 2015-05-12, 或者 12-05-2015 也可以。 上面的例子是計算兩個日期相距的天數, 如果要計算往後 X 天的日期, 可以這樣做:
要檢查 Email 及 URL 格式可以用正規表達式來做, 以下兩個正規表達式分別可以檢查 Email 及 URL 的格式是否正確。但要留意, 以下程式碼只會檢查格式, 而不會檢查兩者的有效性, 要檢查有效性及真實性需要用其他方法。 PHP 檢查 Email 格式 PHP 檢查 URL 格式
PHP 執行時如果出現 Allowed memory size of xxxxxx bytes exhausted 錯誤, 即執行 PHP 時使用過多記憶體, 起出了 php.ini 設定的限制, 解決方法是修改 php.ini 的 memory_limit 參數, 如果是 Redhat / CentOS / Fedora 用 yum …
PHP 內建變數包含多種不同資訊, 其中包括網址的部份, 使用上十分簡單, 只要直接調用即可: 例如網址是 http://www.phpini.com/dir123/test.php?pid=123 上面的網址會分為幾個變數: 要取得目前網址, 其實只要用 $_SERVER 及 $_SERVER, 例如: 但 http:// 通協定部份不可以直接調用, 要用 if 判斷一下, 可以這樣寫:
很多時在廣用程式需要產生隨機密碼, 在 PHP 產生隨機密碼有不同方法可以實現, 以下會介紹透過 str_shuffle() 實現的方法。str_shuffle() 的作用是隨機打亂字串內字符的順序, 然後再用 substr() 抽出想要隨機密碼的長度:
早前把 PHP 升級到 5.4, 發現原來可以正常運作的 PHP 程式出現以下 error: Fatal error: Call to undefined function session_register() 這個 error 就是用了未定義的函式 session_register(), 原本這個應該是 PHP 內建的,查看一下官方網站,原來 PHP 5.4 開始取消了 session_register(), session_unregister() 及 session_is_registered() …