PHP 實作購物車類別完整範例(CodeIgniter 風格)
專案背景 本範例參考 CodeIgniter 框架的購物車類別設計,使用純 PHP 實作一個功能完整、可直接投入生產環境的購物車核心類別。採用 Session
PHP 精準獲取檔案 MIME 類型的完整方案
前言 在 PHP 開發中,準確判斷檔案的 MIME 類型是檔案上傳驗證、內容處理等場景的核心需求。單純依賴副檔名極不安全,因為使用者可以輕易偽造。本文提供一套多
PHP 正則替換處理 HTML 頁面資源路徑:CodeIgniter 專案實戰模式
在 CMS、編輯器輸出或靜態頁面遷移場景中,常需將 HTML 中的相對資源路徑(圖片、連結、iframe、CSS 背景、JS 彈窗)重寫為動態控制器路由。本文展
Discuz! X1.5 隨機數生成函數 random 解析與現代化替代方案
前言 random() 是 Discuz! 系統中用於生成隨機字符串的核心函數,廣泛應用於 Session ID、Token、驗證碼、臨時文件名等場景。本文解析
Discuz! X1.5 經典加解密函數 authcode 深度解析與現代化重構
前言 authcode 是 Discuz! 論壇系統中經典的加解密函數,廣泛用於 Cookie 加密、Token 生成、API 簽名等場景。其基於 RC4 流加
PHP 實作 HTTP 斷點續傳下載:支援大文件分段傳輸的完整方案
前言 大文件下載是 Web 應用常見需求:軟體安裝包、影音檔案、備份資料等。斷點續傳(Resume Download)能讓用戶在網路中斷後從中斷處繼續下載,大幅
PHP 判斷 MySQL 資料表是否存在的三種方法
方法一:查詢 SHOW TABLES 並陣列比對 function table_exists_v1($conn, $table) { $result =
PHP 實作事件機制:觀察者模式與 debug_backtrace 存取控制
設計目標 PHP 原生不支援事件,需自行實作。本文展示一個 Event 類別,結合觀察者模式與 debug_backtrace() 實現「只有直接持有者才能觸發
PDO rowCount() 函數行為解析與正確取得 SELECT 筆數方法
核心問題 PDOStatement::rowCount() 返回上一條 SQL 影響的行數。對 INSERT/UPDATE/DELETE 結果可靠,但對 SEL
PHP OCI8 擴充套件操作 Oracle 資料庫類別封裝
前言 PHP 透過 oci8 擴充套件連接 Oracle,原生 API 程序式風格較強。本文提供一個 Oracle_db 類別,封裝連線、查詢、結果集獲取、錯誤
基於 CodeIgniter 的簡易文章發布系統實作
專案結構 資料表:yi_article(id, title, content, add_man, add_time, views, tag) Controll
PHP 樹狀結構遍歷三大演算法實作比較
前言 檔案系統掃描、分類目錄遞迴、組織架構圖譜等場景都需要遍歷樹狀結構。本文實作並比較三種經典演算法:遞迴深度優先、堆疊模擬深度優先、佇列廣度優先,並附記憶體與
PHP 實現 MySQL 分表分段備份(大數據量適用)
設計目標 針對大型資料庫,單一 SQL 檔案過大難以匯入/傳輸。本方案實現: 分表:逐個資料表備份。 分段:單表資料按固定大小(預設 4MB)切割成多個 .s
PHP 使用 copy() 與字串替換同步更新設定檔
應用場景 專案分前後台,共用同一份 config.php。後台修改全域設定後,需同步更新前台的設定檔。本文示範以「模板 + 佔位符替換 + copy 備份」方式
PHP 保留 MySQL 最新 1000 筆資料刪除舊資料
需求場景 資料表持續寫入,需定期清理舊資料,僅保留最新 N 筆(以自增 ID 判斷新舊)。本文提供一個獨立 PHP 腳本,可排入 Crontab 定期執行。
Apache 整合 PHP 啟動失敗排查全紀錄
錯誤現象 Apache 原本正常,設定完 PHP 模組後無法啟動,Test Configuration 報錯: Cannot load D:/php/php5a