PHP实现读取文件夹中的图片


PHP实现读取文件夹中的图片

<?php
header('Content-Type: text/html;charset=utf-8');
header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求
$PATH = '/Applications/phpstudy/WWW/shopingdb/img/';
    function getFolderList($path)
    {
        $folderList = [];   //最终返回的数组
        $keysValue = [];    //二维数组需要排序的值
        //扫描目录内的所有目录和文件并返回数组
        $data = scandir($path);
        $k = 0;
        foreach ($data as $value) {
            //判断如果不是文件夹则进入下一次循环
            if (!is_dir($path . "/" . $value)) {
                continue;
            }
            if ($value != '.' && $value != '..') {
                $folderList[$k] = array(
                    "name" => $value,
                );
                $keysValue[$k] = $value;   //记录排序值
                $k++;
            }
        }
        //对二维数组进行排序
        array_multisort($keysValue, SORT_DESC, $folderList);
        return $folderList;
    }

   $f_Array =  getFolderList($PATH);


    function getimg($folder,$name){
        $files = array();
        $handle = opendir($folder);  // 遍历文件夹
        while(false!==($file=readdir($handle))){
            if($file!='.' && $file!='..'){
                $hz=strstr($file,".");
                if($hz==".gif" or $hz==".jpg" or $hz==".JPG"or $hz==".JPEG"or 
                    $hz==".PNG"or $hz==".png"or $hz==".GIF") 
                    {$files[] = 'http://shoping/img/'.$name.'/'.$file; 
                }
            }
        }
        return $files;
    }

    $imgArray = [];
    foreach($f_Array as $v){
        $imgArray[$v['name']] = getimg($PATH.$v['name'],$v['name']);
    }

    echo json_encode($imgArray);
 ?>
实现JavaScript读取文件夹中图片数量,你需要使用AJAX和后端语言的配合,例如PHP。具体步骤如下: 1. 使用AJAX和后端语言(PHP)创建一个服务器端的脚本,用于扫描指定文件夹中的所有文件。 2. 在脚本中获取指定文件夹中所有图片的文件名,并返回给前端页面。 3. 在JavaScript代码中,使用AJAX调用服务器端脚本,获取返回的文件名列表。 4. 对于返回的文件名列表,通过一定的规则区分出图片文件名,如以 .jpg、.png、.gif等结尾的文件名。 5. 统计符合规则的文件名数量即为文件夹图片数量。 示例代码如下: 后端(PHP)代码: ```php <?php $dir = "path/to/directory"; //指定的文件夹路径 $filelist = scandir($dir); //扫描指定路径中的所有文件和文件夹 $images = array(); //存储图片文件名的数组 foreach($filelist as $filename){ $pathinfo = pathinfo($filename); //获取文件名的信息 if(in_array($pathinfo['extension'], array('jpg', 'png', 'gif'))){ //如果文件扩展名符合要求,则加入到图片数组中 $images[] = $filename; } } echo json_encode($images); //返回图片数组 ?> ``` 前端(JavaScript)代码: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'path/to/php/file.php', true); xhr.onload = function(){ if(xhr.status === 200){ //请求成功 var images = JSON.parse(xhr.responseText); //获取返回的图片列表 var count = 0; //计数器,用于统计图片数量 for(var i=0; i<images.length; i++){ count++; } console.log('文件夹图片数量为:' + count); }else{ //请求失败 console.log('请求失败!'); } }; xhr.send(); ``` 以上代码仅供参考,具体实现方式需要根据实际需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值