首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 批量執行 phpCB 程式碼美化工具實作範例

     編輯:PHP 相關知識

phpCB 是一款命令列 PHP 程式碼風格美化工具。本文示範如何編寫 PHP 腳本遞迴掃描目錄,批量呼叫 phpCB.exe 格式化所有 PHP 檔案。

批量處理腳本

<?php
header("Content-type: text/html; charset=gb2312");
define('ROOT_PATH', dirname(__FILE__));
$topath = "ww"; // 目標目錄(相對路徑,不含首尾斜線)
$path = ROOT_PATH . "/" . $topath;
$arr = get_all_files($path);

for ($i = 0; $i < count($arr); $i++) {
    $ext = fileext($arr[$i]);
    if ($ext == "php") {
        $cmd = "phpCB.exe " . $arr[$i] . " > " . $arr[$i] . ".phpCB";
        system($cmd);
        unlink($arr[$i]);
        @rename($arr[$i] . ".phpCB", $arr[$i]);
    }
}

function get_all_files($path) {
    $list = array();
    foreach (glob($path . '/*') as $item) {
        if (is_dir($item)) {
            $list = array_merge($list, get_all_files($item));
        } else {
            $list[] = $item;
        }
    }
    return $list;
}

function fileext($filename) {
    return trim(substr(strrchr($filename, '.'), 1, 10));
}
?>

使用步驟

  1. 將 phpCB.exe 放入系統 PATH 目錄(如 C:\Windows\System32)。
  2. 將上述腳本與待格式化目錄置於同層級。
  3. 修改 $topath 為目標目錄名。
  4. 瀏覽器訪問腳本,無輸出即完成。

改進建議

  • 使用 proc_open 替代 system,可捕獲 stderr 進行錯誤處理。
  • 增加乾跑模式(--dry-run),先預覽變更再寫入。
  • 支援 .gitignore 排除規則,避免格式化第三方庫。
  • 現代專案建議改用 PHP-CS-Fixer 或 PHP_CodeSniffer (phpcbf),支援 PSR-12、可整合 CI/CD、配置更豐富。

此腳本適合快速整理歷史專案風格,長期維護請遷移至標準化工具鏈。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved