ThinkPHP 3.1 快速入門指南:目錄結構、入口、調試、配置、控制器、URL、視圖與模型實戰
ThinkPHP 3.1 是遵循 Apache2 開源協議的輕量級 MVC 框架,以簡潔實用著稱。本文從零開始,帶你完成專案建立、調試開啟、資料庫讀寫與模板輸出
PHP 計算兩個日期差值(年、月、日)函數實現
在會員天數、發帖間隔、日誌記錄等場景常需計算兩日期相差的「年、月、日」。本文提供一個精確處理月份長短、閏年邊界的函數。 函數代碼 function DiffDa
PHP 實現百度 Ping 服務主動推送代碼範例
百度 Ping 服務(https://ping.baidu.com/ping/RPC2)允許站長主動通知新內容,加快收錄。本文提供基於 CURL 的 XML-R
Snoopy 采集類完整教程:屬性、方法與進階偽裝技巧
Snoopy 是純 PHP 實現的瀏覽器模擬類,無需 CURL 擴展即可運行於 PHP 4+ 環境,是採集、機器人開發的利器。本文系統整理其屬性、方法與實戰範例
PHP Snoopy 采集類抓取圖片實戰:從入門到進階應用
Snoopy 是一個經典的 PHP 類別,能模擬瀏覽器行為:抓取網頁內容、提交表單、獲取鏈接與文本。本文記錄實際專案中使用 Snoopy 批量抓取文章列表頁圖片
PHP 利用 GD 庫生成縮略圖完整代碼實現(支援 JPG、GIF、PNG 格式)
在 PHP 開發中,圖片縮略圖生成是常見需求。本文提供一個基於 GD 庫的完整類別,支援 JPG、GIF、PNG 三種主流格式,並包含錯誤處理與比例縮放邏輯,可
PHP mkdir 權限陷阱:umask 導致 0777 變 0755 的根因與解決方案
mkdir(dir, 0777) 卻得到 0755 權限?罪魁禍首是 umask——進程預設權限遮罩,會與指定權限進行「位與」運算。 umask 核心機制
PHP 文件 MD5 完整性驗證:上傳防篡檢測完整方案
利用 md5_file() 計算文件哈希值,實現上傳文件防篡改驗證,適用於文件完整性審計、版本控制、安全審計場景。 核心函數 string md5_file(
PHP strlen 與 mb_strlen 深度對比:中英文混排長度計算的正確姿勢
PHP 字符串長度計算陷阱:strlen 返回字節數,mb_strlen 返回字符數,中英文混排時差異巨大,必須根據編碼選擇正確函數。 核心差異演示 $str
PHP 截取含 HTML 標簽字符串函數:自動閉合標簽、支援錨點截斷、多字節安全
函數功能 安全截取含 HTML 的字串,避免標簽未閉合破壞佈局。 自動補全未閉合標簽(按逆序補全)。 支援指定長度(中英各算 1 字符)、超出部分替換字串(如
PHP 解決搶購/秒殺/抽獎高併發導致庫存扣減為負數的方案(文件排他鎖 flock)
問題本質 0,均執行扣減,導致庫存變負(超賣)。 常見方案對比 方案原理優點缺點 單進程隊列請求入隊,消費者串行處理徹底串行化需額外進程、有延遲、架構複雜
PHP base64_decode 解碼亂碼根因分析:GET 傳遞時 + 被轉為空格
現象重現 跳轉提示頁面用 base64_encode($message) 經 URL 參數傳遞,接收端 base64_decode($_GET[message]
PHP URL 安全 Base64 編解碼:解決特殊字符傳輸難題
標準 base64_encode 產生的 +、/、= 在 URL 中會導致解析錯誤,需轉換為 URL 安全字符集。 編碼函數 function urlsafe
PHP 多行字符串傳遞給 JavaScript 的三種實現方案對比
場景 PHP 多行字串(Heredoc)需傳給 JS 變量,保持換行等價於 var c=thy38\n csdn\n blog;。 方案一:JSON 序列化
ThinkPHP 模板引擎資源載入全攻略:import 與 load 標簽深度解析
ThinkPHP 模板引擎提供 import 與 load 兩大資源載入標簽,優雅解決 JS/CSS 引入路徑、版本、條件載入等痛點。 import 標簽:命
PHP 短網址生成算法實現(Base32 編碼、MD5 哈希、4 組 6 位備選)
算法原理 輸入長網址 → md5() 獲取 32 位十六進制字串。 分為 4 組,每組 8 字符(32 位)。 每組轉為 30 位整數 (0x3FFFFFFF
ThinkPHP 3.1 D 方法詳解:實例化自定義模型、跨項目分組、多層模型支援
D 方法簽名 D([項目://][分組/]模型, 模型層名稱) 返回:實例化的模型對象(單例模式,重複調用返回同一實例)。 自動檢測:存在自定義模型類 → 實
PHP AES 加密解密類(支援 Yii 擴展、Java 互通、128 位 CBC 無填充)
設計目標 PHP 端 AES-128-CBC-NoPadding 加解密。 密鑰長度 16 字節(128 位),與 Java AES/CBC/NoPaddin