簡體   English   中英

php擴展名zip,ZipArchive不適用於名稱空間

[英]Php extension zip, ZipArchive doesn't work with namespaces

樣例代碼:

namespace myns;

$zip = new ZipArchive;
$zip->open('/var/www/less/less_1.zip');

for ($i = 0; $i < $zip->numFiles; $i++) {
    echo $zip->getNameIndex($i);
}

當我嘗試創建名稱空間並使用ZipArchive時,出現錯誤:

PHP Fatal error:  Class 'myns\ZipArchive' not found 
in /var/www/less/test.php on line 4

如果沒有名稱空間“ myns”,它將正常工作。

如有任何想法,我將不勝感激。

您只需要使用“全局”名稱空間來訪問它:

namespace myns;

$zip = new \ZipArchive;

有關詳細信息,請參見名稱空間文檔

如果系統中缺少:

sudo apt install php-zip

從php中的全局空間:

$zip = new ZipArchive();

從名稱空間(無括號):

namespace ZipSpace;
function zip(){
   $zip = new \ZipArchive;
   // ....
}

在名稱空間中的任何地方都使用\\來引用全局。

致電:

\ZipSpace\zip()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM