使用symfony我正在尝试创建一个列出Web文件夹中所有图像的页面
我创建了以下操作:
$dir = 'images/blog';
$fulldir = "{$_SERVER['DOCUMENT_ROOT']}/$dir";
$d = @dir($fulldir) or die('Failed opening directory for reading');
while(false !== ($entry = @$d->read()))
{
$this->imagesBlog[] = array(
"file" => "/$dir/$entry",
"size" => getimagesize("$fulldir/$entry"));
$d->close();
}
Run Code Online (Sandbox Code Playgroud)
以下模板:
foreach($imagesBlog as $img)
echo '<img class="photo" src="'.$img['file'].'" ' . $img['size'][3].'>'."\n";
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但只返回包含多个文件的文件夹中的一个图像.
print_r($imagesBlog):
sfOutputEscaperArrayDecorator Object
(
[count:sfOutputEscaperArrayDecorator:private] => 1
[value:protected] => Array
(
[0] => Array
(
[file] => /images/blog/FM-stupidest.png
[size] => Array
(
[0] => 300
[1] => 252
[2] => 3
[3] => width="300" height="252"
[bits] => 8
[mime] => image/png
)
)
)
[escapingMethod:protected] => esc_specialchars
)
Run Code Online (Sandbox Code Playgroud)
救命 !我在这里失去理智.
在while循环$d->close(); 之外调用不是更好吗?
我认为这就是原因 - 在找到第一个图像后,资源将被关闭,下一个read()将失败.