2015-04-07 6 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); 
     } 
    } 

И ошибка:

фатальная ошибка Uncaught исключение 'UnexpectedValueException' с сообщением «RecursiveDirectoryIterator :: __ конструкт (http://localhost/base/sync_content/offer/): не удалось открытый каталог: не реализован в C: \ xampp \ htdocs \ base \ classes \ campaigns.class.php 249

+0

TRY дать полный путь непосредственно (жёстки его), и проверить это работает или нет? –

+0

Я пробовал ... но по-прежнему ту же ошибку ... :( – dEL

ответ

1

Вы, кажется, получаете доступ к локальному хранилищу, используя URL-адрес («http://localhost/ ...»), который не будет работать для RecursiveIteratorIterator. Возможно, вам лучше настроить $path, чтобы указать прямо на локальный каталог, например $path = "/full/path/to/base/sync_content/offer/".

+0

yeh..it работал ... thnx man .. – dEL

0

Вы не можете пойти с RecursiveIteratorIterator для веб-страниц. Это можно применить только к локальным каталогам. URL-адрес не является каталогом, поэтому он не работает.

+0

есть изображения внутри «http: // localhost/base/sync_content/offer /» эта папка, например, 1.jpg 2.jpg так как мы можем идти дальше в такой ситуации – dEL

+0

К сожалению, вы не можете. Конструктор класса принимает только пути, а не URL-адреса. –

0

Вы можете использовать trycatch для конкретной сообща ошибки в моем случае его permission issues

Смежные вопросы