Опендир пытается найти пути, которые не существуют сейчас, потому что они переименованы
Я настраиваю функцию переименования как часть системы crud для dirs, и правильно настраиваю процесс переименования подкаталога каталога для загрузки, и процесс переименования работает, то есть dirs переименовываются соответствующим образом, но я получаю коды ошибок от opendir, Очевидно, пути не найдены, потому что они были переименованы. Не уверен, как решить эту проблему, которая является вопросом на миллион долларов??
контроллер:
private function _edify_dirs_recursive($targets, $new_dirs)
{
$targets = rtrim(preg_replace(array("/\\\\/", "/\/{2,}/"), "/", $targets), "/");
$new_dirs = rtrim(preg_replace(array("/\\\\/", "/\/{2,}/"), "/", $new_dirs), "/");
$explode_targets = explode(',',$targets);
$explode_new_dirs = explode(',',$new_dirs);
foreach($explode_targets as $target_keys):
$dirs_obsolete = "./uploads/$target_keys";
foreach($explode_new_dirs as $new_dirs_keys):
$dirs_new = "./uploads/$new_dirs_keys";
$chid_generator = @rename($dirs_obsolete,$dirs_new);
if($dhandle = @opendir("./uploads/$target_keys"))
{
while(FALSE !== ($entry = @readdir($dhandle)))
{
{ true; }
}
//closedir must be within if logic
@closedir($dhandle);
}
endforeach;
endforeach;
}
1 ответ
Решение
Так как вы только что переименовали ./uploads/$target_keys
в ./uploads/$new_dirs_keys
ты не должен пытаться opendir("./uploads/$target_keys")
, но opendir("./uploads/$new_dirs_keys")
,