PHP 中文截取亂碼終極解決:mb_substr 與 mb_strcut 深度解析
問題根源 PHP 內建 substr() 按位元組截取,中文編碼(UTF-8 佔 3 位元組、GBK 佔 2 位元組)若截在字元中間,會產生亂碼。多位元組字串函
PHP 簡易分頁程式完整實作教學(第一部分)
分頁邏輯核心概念 分頁功能是處理大量資料顯示的基礎技術,核心邏輯包含三個關鍵參數: 每頁筆數:固定每頁顯示幾筆資料 總筆數:從資料庫查詢符合條件的總記錄數 總
經典教學:從零打造 PHP & MySQL 簡易留言板(第一部分)
資料庫設計規劃 在開始撰寫程式碼前,首先需要規劃資料庫結構。本留言板採用兩張資料表設計: 管理員資料表 表名:admin id (int 11) - 主鍵,
PHP 資料庫操作類:基於 PHPLib 擴充的 DB_Sql 完整解析
前言 早期 PHP 專案常以 PHPLib 的 DB_Sql 為基礎,封裝常用 CRUD、分頁、序列號、鎖表等功能。雖然現代專案多改用 PDO/Doctrine
PHP 數字左側補零:str_pad、sprintf 與自訂函式比較
前言 訂單編號、會員編號、驗證碼等場景常需將數字左側補零至固定寬度。PHP 內建 str_pad()、sprintf() 皆可輕鬆達成,效能與可讀性俱佳。本文比
PHP MySQL 分頁類:現代化重構與最佳實務
前言 分頁是 Web 應用最常見的功能之一。早期教學常見 mysql_* 函式搭配手工拼接 SQL 的分頁類。本文將其重構為 PDO 版本,支援 Prepare
PHP Socket 伺服器實作:基礎 TCP 服務與 Telnet 測試
前言 PHP 的 sockets 擴充功能可建立底層 TCP/UDP 伺服器,適合即時通訊、物聯網閘道、自定義協議等場景。本文示範一個簡單的阻塞式 TCP Ec
PHP + MySQL:30 天內文章依自訂演算法排序並輸出 JavaScript 列表
前言 早期 PHP 專案常見需求:從資料庫撈取近期熱門文章,依「投票數、瀏覽數、回覆數」加權計算分數排序,再輸出 JavaScript 供前端直接 docume
MySQL 日期時間函數:NOW()、CURDATE()、CURTIME() 在 PHP 中的應用
前言 在 PHP 操作 MySQL 時,常需將「當前時間」寫入資料庫。MySQL 內建 NOW()、CURDATE()、CURTIME() 三個函數,分別對應
PHP 遠端抓取圖片並儲存至本地的完整實作
前言 爬蟲、內容遷移、防盜鏈等場景常需要將遠端圖片下載並存至本地伺服器。本文提供一個健壯的 GrabImage() 函式,並說明 DedeCMS 中批次處理遠端
PHP 動態生成 PHP 程式碼檔案的技巧與範例
前言 專案中有時需要根據使用者輸入或資料庫設定,動態產生 PHP 設定檔、類別檔或快取檔。核心挑戰在於正確輸出 PHP 標籤、變數符號 $、引號與換行等特殊字元
PHP 操作 Word 文件:使用 COM 元件讀寫 .doc 文件
前言 在 Windows 環境下,PHP 可透過 COM 元件呼叫 Microsoft Word 應用程式,實現對 .doc 格式文件的讀取、修改與另存新檔。此
PHP 圖片浮水印類別:支援圖片/文字、多位置、GD 2.0+
功能特性 水印類型:圖片水印 (GIF/JPG/PNG) 或 文字水印 (ASCII,原版不支援中文) 10 種位置:隨機、四角、四邊中、正中心 文字自訂:字
PHP MD5 16 位與 32 位實作原理解析與安全性警示
MD5 基礎知識 MD5 (Message Digest Algorithm 5) 產生 128 位 (16 字節) 雜湊值 習慣以 32 字元十六進位字串
PHP "Cannot modify header information" 錯誤徹底解決指南
錯誤本質 Warning: Cannot modify header information - headers already sent by (output
PHP 取得中文拼音首字母:GBK 區位碼對映與現代替代方案
原理:GBK 編碼區位碼範圍對映 GBK 編碼中,漢字佔兩個位元組,高位元組 0x81-0xFE,低位元組 0x40-0xFE(除 0x7F)。將雙位元組轉為單
PHP AJAX 中文亂碼徹底解決:UTF-8 編碼統一與 iconv 轉換
核心原則:全鏈路 UTF-8 AJAX 規範預期 UTF-8。亂碼本質是編碼不一致:資料庫/檔案/內部處理用 Big5/GBK,輸出卻宣稱 UTF-8,或反之。
PHP 時區設定錯誤完整解決方案:date_default_timezone_set 與 php.ini
問題現象 date()、time()、DateTime 輸出時間與預期相差數小時(通常相差 8 小時,因預設 UTC)。 三種設定層級(優先級遞增) 層級方