1

ディレクトリのcrudシステムの一部である名前変更機能をセットアップしており、アップロードディレクトリのサブディレクトリの名前を変更するプロセスを正しくセットアップしており、名前変更プロセスが機能しているため、それに応じてディレクトリの名前が変更されていますが、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;
}
4

1 に答える 1

1

./uploads/$target_keysに名前を変更したばかりなので./uploads/$new_dirs_keys、しようとすべきではありませんがopendir("./uploads/$target_keys")opendir("./uploads/$new_dirs_keys").

于 2012-06-13T21:04:43.970 に答える