• PHP简单实现图片库,获取目录下的文件


    scandir() 函数返回指定目录中的文件和目录的数组,这里我主要使用scandir实现图片库。

    语法

    scandir(directory,sorting_order,context);

    参数描述
    directory 必需。规定要扫描的目录。
    sorting_order 可选。规定排列顺序。默认是 0,表示按字母升序排列。如果设置为 SCANDIR_SORT_DESCENDING 或者 1,则表示按字母降序排列。如果设置为 SCANDIR_SORT_NONE,则返回未排列的结果。
    context 可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。
        //图片库
        public function photo_gallery(){
            $C_Patch=$_SERVER['DOCUMENT_ROOT']; //获取网站根目录
            $hostdir=$C_Patch.'/uploads'; //要读取的文件夹
            /*$filesnames = scandir($hostdir); //得到所有的文件
            $url =  $_SERVER["HTTP_HOST"];//获取网址*/
    
            //获取所有图片
            $files = array();
            $array =  $this->getDir2($hostdir, $files);
    
            return json($array);
        }
    
    
        //获取目录或子目录的图片
        public function getDir2($path,&$array)
        {
            if (is_dir($path)) {
                $dir = array_reverse(scandir($path));//获取“/uploads”目录下的所有文件,并进行倒序
                foreach ($dir as $value) {
                    //目录名:$value,路径:$path
                    $sub_path = $path . '/' . $value;
                    //scandir默认有“.”,“..”
                    if ($value == '.' || $value == '..') {
                        continue;
    
                    }  //判断是否目录
                    else if (is_dir($sub_path)) {
                        //排除不需要的目录
                        if (preg_match("/([x81-xfe][x40-xfe])/", $sub_path, $match) || $value == "payUpload") {
                            continue;
                        }
    
                        //循环,获取子目录的文件
                        $this->getDir2($sub_path, $array);
                    } else {
                        //.$path:路径,$value:文件名
                        $image_arr2 = explode(".",$value);//获取后缀名
                        $path_arr = explode('uploads/',$path);//获取当前文件所在的文件夹
                        if (!empty($image_arr2[1])) {
                            //获取需要的文件,判断是否图片
                            if ($image_arr2[1] == "gif" || $image_arr2[1] == "png" || $image_arr2[1] == "jpg" || $image_arr2[1] == "jpeg" || $image_arr2[1] == "bmp") {
    //                            $array[end($path_arr)][] = $value;
                                $array[] = end($path_arr).'/'.$value;
                            }
                        }
                    }
                }
            }
            return $array;
        }

    php获取目录下所有文件及目录(多种方法):https://www.jb51.net/article/161203.htm

  • 相关阅读:
    NSLayoutAttribute
    iOS自动布局
    UIView animateWithDuration 使用详解
    objective-c calendar 日历(2)
    objective-c calendar 日期
    ElasticSearch学习笔记
    PAT007 六度空间
    PAT006 Tree Traversals Again
    PAT005 Path in a Heap
    PAT004 Root of AVL Tree
  • 原文地址:https://www.cnblogs.com/bushui/p/14160362.html
Copyright © 2020-2023  润新知