1

サンプルコード:

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'がなくても、正常に機能します。

どんなアイデアでもありがたいです。

4

2 に答える 2

9

「グローバル」名前空間を使用してアクセスする必要があります。

namespace myns;

$zip = new \ZipArchive;

詳細については、名前空間のドキュメントを参照してください

于 2012-02-11T00:07:58.430 に答える
0

システムにない場合:

sudo apt install php-zip

PHPのグローバルスペースから:

$zip = new ZipArchive();

名前空間から(括弧なし):

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

\グローバルを参照するには、名前空間のどこでも使用します。

電話するには:

\ZipSpace\zip()
于 2019-06-09T21:53:46.590 に答える