计算文件夹中的图像和打印图像名称

时间:2014-02-21 01:19:03

标签: php

我制作了一个计算文件夹中有多少图像的功能,我也想在阵列中打印图像。这是一个计算的工作片段。

<?php
 function countNum($dir){
 $i = 0;
 $dir_array = scandir($dir);
  foreach($dir_array as $key=>$value){
  if($value!=".." && $value!="."){
   if(is_file($dir."/".$value)){

      $i++;
   }
  }
 }
 return array($i);
}

$num = countNum("images");
echo $num[0];
?>

echo $ value;我得到所有图像文件名

AAA_1.jpg  AAA_2.jpg  AAA_3.jpg  AAA_4.jpg  BBB_1.jpg  BBB_2.jpg  BBB_3.jpg  BBB_4.jpg

如何将它们作为数组返回?

3 个答案:

答案 0 :(得分:2)

试试这个:

function getFiles($dir){
     $files = array();
     $dir_array = scandir($dir);
     foreach($dir_array as $key=>$value) {
         if($value!=".." && $value!=".") {
             if(is_file($dir."/".$value)) {
                 $files[]=$value;
             }
          }
     }
     return $files;
}

$all_files = getFiles("images");
$num = count($all_files);
echo "Count: $num\n";
echo $all_files[0];

答案 1 :(得分:1)

如果您真的只想 拍摄图片文件,可能还有其他文件:

function getImages($dir) {
  //make a list of extensions
  $extensions = [
    'jpg',
    'png',
    'gif',
    //......other image extensions
  ];
  return array_filter(scandir($dir), function ($val) use ($extensions) {
    //get extension from file
    $ext = pathinfo("$dir/$val")['extension'];
    //only include file if extension matches list
    return in_array($ext, $extensions);
  });
}
$files = getImages("images");
//now show what's in there
print_r($files);
echo count($files);

答案 2 :(得分:0)

只需创建一个空数组,并在你的forach循环中将一个元素放到这个数组中。

附件代码:

$array = array();
foreach ($files as $file) {
  $array[] = $file;
}

或者,您可以使用array_push() does相同作业的功能。