【发布时间】:2015-02-06 16:40:51
【问题描述】:
我有一个类循环遍历一个目录(5 个图像)并将每个图像转换为 base64 格式并填充一个数组。但是,foreach 循环似乎只循环一次。目录中有 5 个图像,因此它应该有 5 次迭代,并且数组也应该是 5 个不同的图像。
PHP
require_once "Results.php";
require_once "ImageHelper.php";
class IntroImageHelper {
public static function GetImages()
{
$results = new Results();
$results->IntroImages = Array();
$dir = new DirectoryIterator("img/");
$ImageExists = false;
foreach($dir as $file)
{
if($file->isFile())
{
$ImageExists = $file->__toString();
break;
}
}
if($ImageExists)
{
$tempImage = new Results();
$tempImage->ImageName = $ImageExists;
$tempImage->ImageData = ImageHelperIntroSlides::DownloadImage($file);
array_push($results->IntroImages, $tempImage);
}
return $results;
}
}
输出:
{"IntroImages: [
{"ImageName": "image.png",
"ImageDate": "base64imagedata"
}
]
}
【问题讨论】:
-
你没有在循环内调用
array_push()。