Tag: PHP
在網上的伺服器監測程式有很多, 功能都十分完善, 但如果你像我一樣只要監測伺服器是否 down 機, 而且全都是 httpd 伺服器, 可以透過 PHP 簡單實現, 例如這樣就可以很簡單地看到伺服器是否可以連接: 當然上面的程式很陽春, 只會印出伺服器是否可以連接, 而且只可以人手打開上面 PHP 網頁才可以監測。其實只要透過 crontab 自動執行 PHP, 就可以讓 PHP 自動監測伺服器, 並在發生問題時以電郵通知管理員。另外也可以在要監測的伺服器上放一個細小的 PHP 程式, 會印出系統的 load average, …
在 PHP 要讀取 CSV 檔案可以使用內建的 fgetcsv() 函式, fgetcsv() 可以讀取 CSV 檔案並逐行放到 array 裡面, 假設以下為 CSV 檔內容: “User1″,”user1@domain.com” “User2″,”user2@domain.com” “Hello123″,”hello123@domain.com” 如果 CSV 檔案每行多一個欄位, 做法也差不多, 例如 CSV 檔內容: “User1″,”user1@domain.com”,”HK” “User2″,”user2@domain.com”,”HK” “Hello123″,”hello123@domain.com”,”USA” …
用 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 判斷一下, 可以這樣寫: