RecursiveDirectoryIterator给出了异常

时间:2015-04-07 11:58:06

标签: php scandir

RecursiveDirectoryIterator提供意外的值执行

$path= WEB."sync_content/offer/";
  $files = new RecursiveIteratorIterator(
                new RecursiveDirectoryIterator($path),
                RecursiveIteratorIterator::LEAVES_ONLY
            );

 foreach ($files as $name => $file) {
        $fn=$file->getFilename();
        if($fn!='.' && $fn!='..' && !is_dir($fn)) {
            $filePath = $file->getRealPath();
            $zip->addFile($filePath,$fn);   
        }
    }

错误是:

  

致命错误   未捕获的异常' UnexpectedValueException' with message' RecursiveDirectoryIterator :: __ construct(http://localhost/base/sync_content/offer/):无法打开dir:未在C:\ xampp \ htdocs \ base \ classes \ campaigns.class.php中实现249

3 个答案:

答案 0 :(得分:2)

您似乎使用URL(“http://localhost/ ...”)访问本地存储,这对RecursiveIteratorIterator不起作用。您可能最好将$path设置为直接指向本地目录,例如$path = "/full/path/to/base/sync_content/offer/"

答案 1 :(得分:0)

您无法使用RecursiveIteratorIterator获取网页。这只能应用于本地目录。 URL不是目录,这就是它失败的原因。

答案 2 :(得分:0)

您可以try catch使用permission issues

中的特定错误消息