我制作了一个计算文件夹中有多少图像的功能,我也想在阵列中打印图像。这是一个计算的工作片段。
<?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
如何将它们作为数组返回?
答案 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相同作业的功能。