2015-04-07 80 views
1

RecursiveDirectoryIterator給人意外值ExeceptionRecursiveDirectoryIterator給出例外

$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' 有消息「RecursiveDirectoryIterator :: __結構(http://localhost/base/sync_content/offer/):未能打開目錄:未在C:\ xampp \ htdocs \ base \ classes \ campaigns.class.php中實施249

+0

並重,充分路徑直接(硬編碼),並檢查是否有工作或沒有? –

+0

我試過了...但仍然是同一個錯誤... :( – dEL

回答

1

您似乎正在使用URL(「http://localhost/ ...」)訪問本地存儲,這對於RecursiveIteratorIterator不起作用。您可以將$path設置爲直接指向本地目錄,例如$path = "/full/path/to/base/sync_content/offer/"

+0

yeh ..他工作... thnx人.. – dEL

0

您無法使用RecursiveIteratorIterator獲取網頁。這可以僅應用於本地目錄。該URL不是目錄,這就是它失敗的原因。

+0

裏面有「http:// localhost/base/sync_content/offer /」這個文件夾,像1.jpg 2.jpg那麼我們該怎麼辦在這種情況下 – dEL

+0

可悲的是你不能。類構造函數只接受路徑,不是url。 –

0

可以使用trycatch的具體錯誤味精在我的情況下,其permission issues