PHP 陣列刪除元素後重新索引:unset vs array_splice vs array_values
現象:unset() 不會重建索引 c d ) */ PHP 陣列底層是有序雜湊表,unset 僅移除該鍵值,不改變其他鍵。 方案一:array_sp
Python 遞迴計算指定目錄下所有子目錄大小腳本
需求 掃描指定路徑,列出每一層子目錄的總大小(含遞迴子目錄),以 KB 顯示。 核心程式碼 (Python 3) None: 列出 root_dir
PHP 計算兩個日期時間差的完整方案:秒、分、時、天、月、年
核心概念:統一使用時間戳 所有計算的基礎是 time() 或 strtotime() 取得的 UTC 秒數。兩時間戳相減得「秒差」,再換算各單位。 基礎換算常
ThinkPHP 3.2 核心知識體系完整梳理:MVC、路由、模板、分組與 AJAX 實戰
框架概覽 ThinkPHP 3.2 是國產 MVC 框架的經典版本,雖已停止維護,但大量存量專案仍在運行。理解其核心機制有助於維護遷移。 目錄結構速覽 Th
PHPExcel 實戰指南:讀寫 Excel (xls/xlsx) 完整範例與中文編碼解決方案
前言與版本說明 PHPExcel 已於 2017 年停止維護,官方建議遷移至 PhpSpreadsheet(語法 90% 相容)。本文以 PHPExcel 為例
PHP 向 JavaScript 傳遞變數的正確姿勢:JSON 編碼與 XSS 防護
常見錯誤寫法(極度危險) <?php // 錯誤 1:直接輸出變數,單引號破壞 JS 語法 echo <script>test($_POST[
PHP 靜態方法呼叫的隱藏陷阱:$this 指向由呼叫端決定
核心結論先行 以 :: 靜態方式呼叫非靜態方法時,方法內的 $this 並非指向定義該方法的類別,而是由呼叫時的上下文決定。 經典實驗代碼 normal_
PHP return 語句的另類用法:全域腳本中止執行
發現:bbPress 原始碼中的驚人寫法 <?php require_once(./bb-load.php); bb_repermalink(); if
PHP 產生 16 位隨機數的三種實用方法
需求場景 常見於驗證碼、訂單編號、臨時密碼、API Nonce 等需「固定長度、純數字、重複機率低」的場合。 方法一:mt_rand() 區間拼接(最簡潔、效
PHP date() 與 gmdate() 差異深度解析:時區處理最佳實踐
核心差異一覽 函數說明受 date.timezone 影響典型用途 date()格式化本地時間是顯示給使用者看的時間 gmdate()
PHPMailer 完整實戰指南:從安裝配置到發送帶附件郵件
前言 在 PHP 開發中,發送郵件是常見需求。PHP 內建的 mail() 功能有限,且容易被判定為垃圾郵件。PHPMailer 作為最流行的郵件發送庫,提供了
PHP CSS 靜態資源版本控制類別:自動為圖片 URL 附加時間戳防快取
前端效能優化中,CSS 內引用的圖片、字型等靜態資源需長期快取(`Cache-Control: max-age=31536000`),但更新時必須強制瀏覽器下載
PHP XML 解析類別:SimpleXML 載入檔案與字串轉陣列實作
XML 仍是系統整合、配置檔、API 回應常用格式。本文封裝 XMLParser 類別,基於 PHP 內建 SimpleXML 擴展,提供檔案與字串兩種來源載入
PHP 統一資料回傳格式類別:支援 JSON、XML、JSONP、Array 多格式輸出
API 開發中,統一回傳格式(狀態碼、訊息、資料)並支援多種輸出格式(JSON、XML、JSONP、Array)是基礎需求。本文實作 DataReturn 類別
PHP 敏感詞過濾類別:白名單保護機制與黑名單替換實作
內容審核系統需過濾敏感詞彙,但單純替換會誤傷正常詞彙(如「曹操」被過濾成「曹**」)。本文實作 StrFilter 類別,採用白名單保護機制:先將白名單詞彙暫時
PHP 產生 QR Code 完整範例:使用 PHP QR Code 庫
QR Code(快速回應碼)廣泛應用於行動支付、網址分享、登入驗證、資訊標籤等場景。本文示範使用 PHP QR Code 庫(基於 libqrencode)快速
PHP 實作 AES-256 加密演算法:純 PHP 實現與 mcrypt 擴展兩種方案
AES(Advanced Encryption Standard)是目前最廣泛採用的對稱加密標準。本文提供兩種 PHP 實作方案:純 PHP 實現(無擴展依賴、
PHP unserialize 返回 false 解決方案:序列化字串長度不匹配修復
unserialize() 返回 false 通常是因為序列化字串中的長度標識與實際字串長度不一致。常見原因包括:編碼不一致(UTF-8 vs Latin1 導