PHP GD 庫動態產生 IP 顯示圖片:完整程式碼與逐行註解教學
利用 PHP GD 库動態生成一張包含訪客 IP 位址的 GIF 圖片,是早期網站常見的「顯示你的 IP」小工具。本文提供完整程式碼 sunip.php 並逐行
PHP 設計模式:單例模式 完整實作與核心原理深度解析
單例模式是最基礎也最常用的建構型設計模式,確保類別在全域只有唯一實例,並提供全域存取點。本文以資料庫連線類別為例,完整展示 PHP 單例實作細節,並逐步拆解「為
PHP 檢查使用者名稱是否存在於 MySQL:Prepared Statement 防注入完整範例
註冊系統中檢查使用者名稱是否已存在是基本功能,但直接拼接 SQL 字串極易造成 SQL Injection。本文展示正確做法:使用 MySQLi Prepare
PHP 可逆加密解密演算法實作:自訂金鑰循環位移與 Base64 輸出(簡易版)
本文提供一組精簡的 PHP 可逆加密/解密函式,採用「金鑰 MD5 後循環產生等長金鑰流,逐字元模 256 位移」的對稱加密邏輯,並以 Base64 編碼輸出。
Discuz! 經典 authcode 加密解密函式深度解析:動態金鑰、時間戳驗證與資料完整性保護
Discuz! 論壇系統中的 authcode() 是 PHP 界最廣為人知的可逆加密函式之一。它結合動態金鑰(ckey)、時間戳過期控制、資料完整性驗證(ke
PHP 可逆加密解密演算法實作:自訂金鑰 + Base64 編碼的對稱加密範例
MD5、SHA1 等單向雜湊適合密碼驗證,但無法還原原始資料。若需「加密後仍可解密還原」(如 API Token、設定檔敏感欄位),需使用可逆的對稱加密。本文提
PHP 簡易檔案快取類實作:支援過期時間、序列化儲存與目錄自動建立
專案中常需快取資料庫查詢結果、API 回應等資料以提升效能。本文提供一個輕量、無相依的 PHP 檔案快取類 Cache,支援設定快取目錄、讀寫含過期判斷、自動建
PHP 發送郵件四大方案完整指南:mail()、qmail 管道、PHPMailer、PEAR Net_SMTP
PHP 專案中發送郵件是基本需求,但選擇哪種方式常讓開發者猶豫。本文系統整理四種主流方案:內建 mail()、qmail/sendmail 管道、PHPMail
PHP 彈出對話框並重導向的兩種實作方式:JavaScript 與純 PHP Header 比較
Web 開發中常見需求:使用者操作錯誤或驗證失敗時,先彈出警示視窗,再導向指定頁面。本文比較「JavaScript 彈窗+導向」與「PHP 輸出 JS 彈窗再
解決 PHP 執行 Shell 命令回傳中文亂碼:shell2txt 函式實作詳解
在 PHP 中使用 exec()、shell_exec() 或 passthru() 執行系統指令時,若輸出包含中文,常會得到類似 ?\230?\180?\18
PHP 短網址產生原理與實作:Base62 編碼演算法完整解析
短網址服務(如 bit.ly、t.cn)的核心在於將冗長的原始 URL 轉換為極短的代碼。最經典的做法是利用 CRC32 雜湊 取得一個無符號整數,再以 Bas
PHP 字串壓縮函式效能大比拚:gzcompress、gzencode、gzdeflate 與 bzcompress 實測分析
在 PHP 開發中,資料壓縮是優化傳輸效能、節省儲存空間的常用手段。PHP 內建了數種壓縮函式,最常見的有 gzcompress、gzencode、gzdefl
PHP 依 URL 自動產生縮圖並解決高併發問題
縮圖產生時機:上傳時 vs 訪問時 策略優點缺點 上傳時產生讀取快、無額外 CPU、適合固定尺寸尺寸變更需重刷所有圖、佔空間 訪問時產生彈性尺寸、按需產生、省
PHP 發送帶附件郵件實作範例(含 PHPMailer 最佳做法)
快速實作:使用 PHPMailer 寄送附件 本文提供現代、穩健的寄信方案。舊式手刻 MIME 類別(如原始碼)已不建議使用,請直接採用 PHPMailer。
SQL 注入攻擊原理與防範完整指南(PHP 版)
什麼是 SQL Injection? SQL 注入是指攻擊者透過輸入精心構造的惡意字串,改變原本 SQL 語句的邏輯,進而竊取、竄改、刪除資料庫資料,甚至取得伺
PHP 發送帶附件郵件:從手刻 MIME 到 PHPMailer 最佳實踐
為什麼不建議手寫 MIME 郵件? 早期 PHP 開發者常自行組裝 MIME 郵件(如本文原始碼),但容易踩坑:編碼錯誤、附件損壞、郵件被判定為垃圾郵件、不支援
PHP 測試 MySQL 連線是否成功的完整指南
快速測試 PHP 與 MySQL 連線 想確認 PHP 能否成功連接 MySQL 資料庫?以下提供兩種做法:傳統 mysql_connect(已棄用)與現代 m