所以,我正在尝试为我正在制作的网站制作幻灯片,但目前还不清楚我将要包含多少图像。检索图像的当前代码包含在下面,但运行时它只显示:
<?php
$dir = dirname(__FILE__).'/img';
$images = scandir($dir);
if($images)
{
foreach($images as $image)
{?>
<div class="slide active-slide slide-feature">
<div class="container">
<div class="row">
<div class="col-xs-12">
<a href="#"><img src= <?php echo ('"' . $dir . '/' . $image . '"') ?> ></a>
</div>
</div>
</div>
</div>
<?php
}
}
?>
注意:当我只是手工输入HTML并包含特定的URL时,HTML本身工作正常,所以我认为这是HTML和PHP集成的问题。
答案 0 :(得分:0)
$dir = dirname(__FILE__).'/img';
在此上下文中,$dir
是绝对的文件系统路径,而不是URL。因此,当您在$dir
元素的src
属性中使用img
时,将永远无法找到该图像。您可以通过简单地使URL相对来解决此问题(尽管最好使用根相对URL),例如:
<a href="#"><img src="img/<?=$image?>"></a>
您还应该注意,scandir()
函数还会返回两个“特殊”目录.
和..
,因此需要在{{{}开始时跳过这些目录。 1}}循环。例如:
foreach()
以这种方式在PHP构造中混合输出(通过打入/关闭PHP模式)不是好习惯,因为它限制了可移植性,更难阅读,更难调试等。相反,请考虑分配输出到变量并在脚本末尾回显。