<em id="dtpgh"></em>
  • <dd id="dtpgh"><noscript id="dtpgh"></noscript></dd>
  • PHP8 Phar::setStub

    2024-02-21 14:39 更新

    (PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

    Phar::setStub — 用于設置 Phar 存檔的 PHP 加載器或引導存根

    說明

    public Phar::setStub(resource|string $stub, int $length = -1): bool
    注意:此方法需要 將 中的 設為 以適合 Phar 對象. 否則, 將拋出PharException.php.iniphar.readonly0

    此方法用于將 PHP 引導加載器存根添加到新的 Phar 存檔中,或者 替換現有 Phar 存檔中的加載程序存根。

    每當直接包含存檔時,都會使用 Phar 存檔的加載器存根 如本例所示:

    <?php
    include 'myphar.phar';
    ?>

    通過流包裝器包含文件時,不會訪問加載器,如下所示:phar

    <?php
    include 'phar://myphar.phar/somefile.php';
    ?>

    參數 

    stub

    要用作此可執行存根的字符串或開放流句柄 法爾檔案。

    length

    返回值 

    成功時返回 true, 或者在失敗時返回 false。

    錯誤/異常 

    如果啟用了 phar.readonly,則會引發 UnexpectedValueException 在php.ini。如果遇到任何問題,則拋出 PharException 刷新對磁盤的更改。

    更新日志 

    版本說明
    8.3.0現在不推薦使用資源和 a 調用 Phar::setStub()。此類調用應替換為:length$phar->setStub(stream_get_contents($resource));

    示例 

    示例 #1 A Phar::setStub() example

    <?php
    try {
        $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
        $p['a.php'] = '<?php var_dump("Hello");';
        $p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
        include 'phar://brandnewphar.phar/a.php';
        var_dump($p->getStub());
        $p['b.php'] = '<?php var_dump("World");';
        $p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
        include 'phar://brandnewphar.phar/b.php';
        var_dump($p->getStub());
    } catch (Exception $e) {
        echo 'Write operations failed on brandnewphar.phar: ', $e;
    }
    ?>

    以上示例會輸出:

    string(5) "Hello"
    string(82) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"
    string(5) "World"
    string(83) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"
    

    參見 

    • Phar::getStub() - 返回 Phar 存檔的 PHP 加載器或引導存根
    • Phar::createDefaultStub() - 創建特定于 phar 文件格式的存根


    以上內容是否對您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號
    微信公眾號

    編程獅公眾號

    9久久久精品视频免费观看_久久99这里只有精品_91热久久免费频精品99欧美_黄色a一级