Category: PHP

PHP 檢查 IP 地址所屬國家及組織

在網上很多工具可以檢查 IP 所屬國家, 大多數都是付費工具, 免費版 IP 的覆蓋率較低, 及只包含基本國家資訊。 今天介紹的是 IP Geolocation API, 雖然它也有收費版, 但這只適用於商用量用戶, 免費版提供每日 1,000 個查詢, 及不支援 SSL, 其他內容與付費版是一樣的。 使用上十分簡單, 只要用 GET 請取網頁內容就可以, 例如 Google 的 DNS IP …

解決 PHP UTF-8 網頁亂碼

如果以 UTF-8 編碼的 PHP 網頁在瀏覽器出現亂碼, 一般都是設定錯誤編碼所致, 要解決分別可以透過 HTML 的 meta tag, PHP Header 及 Apache 進行設定, 以下是解決方法: HTML Meta Tag: 在 HTMl 的 及 加入以下這行, 向瀏覽器宣告使用 UTF-8 編碼: PHP …

Google 雲端程式碼儲存平台 — Cloud Source Repositories

GitHub 是十分熱門的程式碼儲存平台, 現在 Google 剛剛將它們的雲端程式碼儲存平台 (Cloud Source Repositories) 測試版投入服務, 功能與 GitHub 相約。 測試版免費提供 500MB 空間儲存程式碼。 Cloud Source Repositories are fully-featured Git repositories hosted on Google Cloud Platform. This Beta …

PHP 用 CURL 上傳檔案

PHP 的 CURL 除了可以傳送 POST 請求外, 還可以用作上傳檔案。方法與傳送 POST 請求差不多, 只要宣告以 multipart/form-data 模式傳送, 以及在傳送的值前面加上 “@” 符號, 後面接著是檔案的絕對路徑, 以下是例子: 上面例子會將 /path/to/file.txt 上傳到 http://localhost/path.php, 上傳欄位名稱是 upload_file.

PHP 用 CURL 傳送 POST 及 GET 表單

PHP 要擷取遠端網頁或者傳送 GET 請求可以用 file_get_contents() 函式做, 但如果要發送 POST 請求, 例如自動填寫表單等, 就可以用 CURL 實現。以下 PHP 的 CURL 模組發送 POST 及 GET 的方法: PHP 傳送 GET 請求 如果只是傳送 GET 請求, 用 …

PHP 使用 FTP 上傳及下載檔案

一般 PHP 的上傳檔案方法, 是將上傳的檔案放到暫存目錄, 再複製到指定的目錄, 雖然操作上方便, 但問題是儲存上傳檔案的目錄必需要有寫入權限 (CHMOD 777), 而且不能上傳到遠端伺服器。 要解決以上問題, 我覺得較簡單的方法是用 PHP 內建的 FTP 功能, 例如現時 WordPress 的更新功能, 也是透過 FTP 操作。以下會介紹在 PHP 連接到 FTP 上傳及下載檔案的方法: FTP 下載檔案 FTP …

PHP 安裝 mbstring 模組

在安裝了 phpMyAdmin 後, 如果沒有安裝 PHP 的 mbstring 模組, 會在 phpMyAdmin 看到以下錯誤: 找不到PHP內部mbstring編碼模組,沒有這個模組,phpMyAdmin無法準確地分割雙字元文字,而可能產生問題 要解決就要安裝 PHP 的 mbstring 模組, 如果 PHP 是用編譯源碼的方法安裝, 只要重新編譯一次, 在 ./configure 時加入以下參數: –with-mbstring –enable-mbstring=all 如果是用 Yum 或者 …

PHP 使用 JSON

PHP 要使用 JSON 很方便, 只要用內建的 json_encode() 及 json_decode() 函式就可以, 以下簡單例子是在 PHP 用 json_encode() 輸出 JSON 資料: 上面的第 7 行, 用 json_encode() 函式輸出 $lang 的 JSON 資料, 然後放到 JavaScript 的變數。 …

PHP 判斷智能手機及平板電腦

判斷用戶是否用手機訪問網站後, 可以根據用戶的系統, 決定顯示一般大小的網頁, 或者手機及平板電腦的專屬網頁。 用 PHP 要判斷用戶是否用流動裝置訪問, 最簡單的方法是通過 $_SERVER 檢查。每部電腦或者每個瀏覽器都有不同的 User Agent, 而 $_SERVER 就是紀錄了用戶的 User Agent, 下面是常用手機的 User Agent 會出現的字串: iPhone: 用 “iPhone” 作為判斷字串. iPad: 用 “iPad” 作為判斷字串. …