使用ZIPARCHIVE::CREATE检查错误


Error checking with ZIPARCHIVE::CREATE

我想检查$outZipPath是否有效。当我有一个不正确的驱动器时,例如:

$outZipPath = 'k:/backup.zip'     // k drive does not exist

$opened仍然为真,因此总是回显'Path created'。

如何检查不正确的驱动器/路径?

代码如下所示:

$z = new ZipArchive(); 
$opened = $z->open($outZipPath, ZIPARCHIVE::CREATE); 
if ($opened === true) 
    echo 'Path created';
else
    echo 'Not valid path';

您可以使用touch函数尝试创建一个文件。将@放在函数名前面可以防止PHP报告错误。

<?php
$outZipPath = 'test/this';
$t = @touch($outZipPath);
if ($t === true) {
        $z = new ZipArchive();
        $opened = $z->open($outZipPath, ZipArchive::CREATE|ZipArchive::CHECKCONS);
        if ($opened === true)
            echo 'Path created';
        else
            echo 'Not valid path';
} else {
        echo 'No luck';
}
echo PHP_EOL;