MySQL 字符集升級風波:UTF-8 與 GBK 的抉擇與實踐
事件回顧 將 MySQL 從 4.0 升級至 4.1.11 後,原本正常運行的 Mantis 系統出現全站亂碼。經排查,MySQL 4.1+ 引入字符集支持,預
免費 PHP 加速器 PHP Accelerator 安裝與配置指南
什麼是 PHP Accelerator? PHP Accelerator(簡稱 phpa)是一款開源的 PHP opcode 緩存擴展,能將編譯後的腳本緩存至共
PHP 與 CSS 實現網頁字體大小切換:無障礙設計實戰
為什麼需要文字大小切換? 並非所有訪問者都是視力完好的年輕人,也未必熟悉瀏覽器內建的縮放功能。提供直觀的「大/中/小」按鈕,能顯著提升網站的無障礙體驗,尤其對長
PHP 中文截取函數:精準處理多字節字符串
問題背景 在 PHP 中直接使用 substr() 截取包含中文的字符串,往往會導致半個漢字被截斷,產生亂碼。這是因為漢字在 GBK/UTF-8 編碼下佔用多個
PHP 精確截取指定長度字串函數:支援中英混合與自訂尾綴
函數規格設計 功能:按字元數截取字串,正確處理多位元組字元 參數:$str 目標字串、$length 目標長度、$suffix 截斷尾綴(預設 ...) 回傳
PHP 中英文混合字串截取函數:正確處理多位元組字元
問題核心:位元組 vs 字元 PHP 內建 strlen()/substr() 以位元組為單位,中文 UTF-8 佔 3 位元組,直接截取會導致字元截半、產生亂
PHP "Access Violation" 錯誤完整排查指南:六大常見成因與解決方案
錯誤背景 PHP has encountered an Access Violation 是 Windows 環境下 PHP 進程崩潰的經典錯誤,官方 Bug
Vim 代碼摺疊功能完整指南:Marker 模式配置與實用技巧
Vim 摺疊模式概覽 Vim 提供六種摺疊方法(:help fold-methods): 方法設定值適用場景 手動manual完全手動控制,zf 建立、zo
ppform:PHP 快速開發桌面應用工具
簡介 ppform 讓 PHP 開發者像 Delphi 一樣,以極少代碼快速建構 Windows 桌面小工具(需 Windows 環境)。 範例:可呼叫 PH
PHP + AJAX 檔案上傳進度條實作:基於 PEAR HTML_Ajax 方案
架構概覽 本方案採用 iframe 提交表單 + AJAX 輪詢進度 架構,核心元件: UploadProgressMeter 類別:管理上傳狀態、進度計算、
PHPUnit 袖珍指南:PHPUnit 的設計目標與權衡
PHPUnit 解決的問題 手寫測試基礎設施重複造輪子。PHPUnit 提供統一框架,僅需撰寫測試差異部分。 核心設計目標 易學:開發者願意學習。 易開發:
PHP 模板引擎 Smarty 入門介紹
為何需要模板引擎? MVC 架構要求邏輯與表現分離。早期 PHP 混雜 HTML,維護困難。模板引擎提供約定語法,讓設計師與工程師並行開發。 Smarty 特
PHP 正則表達式實戰教學:從基礎語法到常見應用範例
正則表達式核心元字元速查 符號名稱說明範例 ^行首錨點匹配字串開頭^The 匹配 The 開頭 $行尾錨點匹配字串結尾despair$ 匹配 despair
PHP 實現 Search Engine Friendly URL(PATH_INFO 方案)
目標 將 foo.php?a=A&b=B&c=C 轉為 foo.php/a/A/b/B/c/C,且兩種格式皆可存取,無需伺服器重寫規則權限。 原理 Apach
PHP 強制物件型別:instanceof 運算子詳解
簡介 PHP 5 提供兩種強制物件型別機制:instanceof 運算子與 型別提示。本文聚焦 instanceof 用法。 基本語法 $obj insta
Movable Type 首頁文章顯示數量自由控制
問題 MT 預設首頁顯示最近 7 天內文章,更新頻繁時頁面過長,更新稀疏時顯示太少,與側邊欄比例失調。 解決方法 在 Index 模板 的 MTEntries