查詢

Phar::webPhar()函式—用法及示例

「 將一個 Phar 歸檔檔案轉換為一個可執行的 PHAR web應用程式 」


函式名:Phar::webPhar()

適用版本:PHP 5 >= 5.3.0, PHP 7, PHP 8

函式用法:Phar::webPhar() 方法用於將一個 Phar 歸檔檔案轉換為一個可執行的 PHAR web應用程式。它會為 PHAR 歸檔檔案建立一個簡單的入口點,以便從 Web 伺服器上直接訪問 PHAR 檔案。

語法:bool Phar::webPhar([ string $index [, string $f404 [, array $mimetypes [, array $rewrite [, callable $preprocess [, callable $postprocess ]]]]]])

引數:

  • $index(可選):指定 PHAR 檔案的入口點檔案,預設為 "index.php"。
  • $f404(可選):指定當請求的檔案不存在時返回的檔案,預設為 null。
  • $mimetypes(可選):指定副檔名與 MIME 型別的對映陣列,預設為 null。
  • $rewrite(可選):指定一個陣列,用於重寫請求的 URL。陣列的鍵是待重寫的 URL,值是重寫後的 URL。
  • $preprocess(可選):指定一個回撥函式,用於在檔案傳輸給客戶端之前預處理檔案內容。
  • $postprocess(可選):指定一個回撥函式,用於在檔案傳輸給客戶端之後進行後處理。

返回值:成功時返回 true,失敗時返回 false。

示例:

$phar = new Phar('myapp.phar');
$phar->startBuffering();
$phar->buildFromDirectory('/path/to/myapp');
$phar->setStub($phar->createDefaultStub('index.php'));
$phar->stopBuffering();

// 將 PHAR 檔案轉換為可執行的 web 應用程式
$phar->webPhar();

// 設定重寫規則,將 /about 重寫為 /index.php?page=about
$phar->webPhar(null, null, null, ['/about' => '/index.php?page=about']);

在上面的示例中,首先建立了一個名為 "myapp.phar" 的 PHAR 歸檔檔案,並從指定目錄 "/path/to/myapp" 構建了該歸檔檔案。然後,設定了 PHAR 檔案的入口點檔案為 "index.php",並停止緩衝。接下來透過呼叫 webPhar() 方法將 PHAR 檔案轉換為一個可執行的 web 應用程式。如果需要對請求的 URL 進行重寫,可以透過傳遞 $rewrite 引數來指定重寫規則。

請注意,使用 webPhar() 方法將 PHAR 檔案轉換為 web 應用程式後,可以直接從 Web 伺服器上訪問該 PHAR 檔案,並像訪問普通 PHP 檔案一樣訪問其中的指令碼和資源。

補充糾錯
上一個函式: Phar::__construct()函式
下一個函式: Phar::unlinkArchive()函式
熱門PHP函式
分享連結