一些封装的php函数

swoole群中奥总共享的创建文件夹:

function make_dir($folder){

        $reval = false;

        if (!file_exists($folder)){

        /* 如果目录不存在则尝试创建该目录 */

            @umask(0);

            /* 将目录路径拆分成数组 */

            preg_match_all('/([^\/]*)\/?/i', $folder, $atmp);

            /* 如果第一个字符为/则当作物理路径处理 */

            $base = ($atmp[0][0] == '/') ? '/' : '';

            /* 遍历包含路径信息的数组 */

            foreach ($atmp[1] AS $val){

                if ('' != $val){

                    $base .= $val;

                    if ('..' == $val || '.' == $val){

                    /* 如果目录为.或者..则直接补/继续下一个循环 */

                        $base .= '/';

                        continue;

                    }

                }

                else

                {

                    continue;

                }

                $base .= '/';

                if (!file_exists($base)){

                /* 尝试创建目录,如果创建失败则继续循环 */

                    if (@mkdir(rtrim($base, '/'), 0777)){

                        @chmod($base, 0777);

                        $reval = true;

                    }

                }

            }

        }

        else{

        /* 路径已经存在。返回该路径是不是一个目录 */

            $reval = is_dir($folder);

        }

        clearstatcache();

        return $reval;

    }

 

posted @ 2015-06-24 21:09  suhanyujie  阅读(219)  评论(0编辑  收藏  举报