PHP 四種常見執行模式詳解:CGI、FastCGI、Apache 模組、CLI
SAPI 簡介 SAPI(Server Application Programming Interface)是 PHP 與外部環境(Web Server、終端機
PHP 精確測量函數執行時間:microtime() 應用範例
前言 使用 microtime(true) 取得微秒級時間戳,前後相減即可得到函數/程式區塊的執行時間。 基本範例 <?php $longStr = s
PHP 使用 MySQLi 執行 INSERT 新增資料範例
前言 MySQLi(MySQL Improved)是 PHP 連接 MySQL 的推薦介面,支援預處理語句、物件導向與程序式風格。本文示範基本 INSERT 操
CodeIgniter 控制器一次載入多個 View 的實作方式
前言 CodeIgniter 的 view() 可多次呼叫,依序輸出多個視圖片段,自動拼接成完整頁面。常用於「版面佈局」:Header、Nav、Content、
CodeIgniter View 中以 foreach 迴圈顯示陣列資料教學
前言 CodeIgniter 採用 MVC 架構,控制器將資料陣列傳遞給視圖,視圖中使用 PHP 原生 foreach 迴圈輸出資料。 控制器 view(in
PHP 巢狀函數(內嵌函數)定義與呼叫範例
前言 PHP 允許在函數內部定義另一個函數(巢狀函數)。內部函數**只能在外部函數被呼叫後才會被定義**,且作用域限於外部函數內部(全域無法直接呼叫)。 基本
PHP 自訂錯誤處理機制:set_error_handler 完整範例
前言 PHP 預設錯誤輸出往往不符生產環境需求(資訊洩露、格式不一致)。使用 set_error_handler() 可攔截所有非致命錯誤,實現統一日誌記錄、友
PHP 使用 NumberFormatter 依據地區格式化貨幣顯示
前言 PHP NumberFormatter 類別(需 intl 擴展)提供強大的地區化數字/貨幣格式化功能,自動處理貨幣符號、小數位、分組符號、正負號位置等差
PHP 實現繁簡中文互轉:基於字映射表的 utf8_chinese 類別
前言 在無法安裝 opencc 等系統級工具的環境下,可使用純 PHP 陣列映射表實現 UTF-8 繁簡轉換。本文提供一個 utf8_chinese 類別,內建
PHP 產生相對時間字串(如「3 天前」)的函數實作
前言 社交動態、評論系統常需顯示「幾分鐘前」、「3 天前」等相對時間。本文提供一個完整的 ago() 函數,支援秒、分、時、天等多級精度,並處理邊界條件。 完
PHP 實現函數返回多個值的技巧:list() 函數應用範例
前言 Python、Go 等語言原生支援函數返回多值(如 a, b = func())。PHP 雖無直接語法,但可結合 陣列回傳 與 list() 語言結構 達
PHP 安全檔案上傳:MIME 類型驗證、副檔名雙重檢查、儲存最佳實務
核心原則:不要相信瀏覽器傳來的任何資訊 $_FILES[file][type] 可偽造 $_FILES[file][name] 可偽造 需伺服器端實際檢測檔案
PHP 執行系統指令:exec、shell_exec、passthru、proc_open 比較與安全實務
四大執行函數比較 函數回傳值輸出處理適用場景 exec()最後一行輸出(字串)選擇性存入陣列參數需取得結果碼、處理多行輸出 shell_exec()完整輸出(
PHP 通用資料庫查詢轉下拉選單函數:任意表、欄位、條件支援
函數設計目標 不綁定特定表結構 支援自訂顯示欄位、值欄位 支援 WHERE 條件、排序 回傳 HTML <select> 字串,可直接輸出 現
CodeIgniter 顯示腳本執行時間:Benchmark Library elapsed_time 完整用法
視圖中直接顯示 elapsed_time() ?> 秒 </div> <!-- 偽變數方式 --> 頁面產生時間: {elaps
CodeIgniter 監控腳本記憶體使用量:Benchmark Library 記憶體檢測
視圖中直接顯示 memory_usage() ?> </div> <!-- 或使用偽變數(需啟用 parse_vars)-->