我正在尝试通过php从目录中提取所有图像并将其打印为< li < img src="url..
等...
在对SO做了一些研究之后,我发现glob函数应该很好地服务于这个目的,但不幸的是我不能让它工作。我认为问题在于我试图回应路径中的ID?但作为一个新手我似乎无法看到我的错误。
<?
$dirname="images/companies/";
echo '$current['id']';
$images = glob($dirname."*.jpg");
foreach($images as $image) {
echo '<img src="'.$image.'" /><br />';
}
?>
答案 0 :(得分:2)
$dirname."*.jpg"
之间没有dir分隔符,所以除非你的$current['id']
以斜杠结尾,否则glob将不起作用。
尝试将$dirname."*.jpg"
替换为$dirname."/*.jpg"
。
另外:您的$dirname
与当前的PHP工作目录相关。无论调用PHP的位置如何,要确保无效,请使用$dirname=dirname(__FILE__)."/images/companies/".$current['id']
答案 1 :(得分:0)
确保thar $ dirname相对于当前路径或使用绝对路径,例如:
$ dirname = $ _SERVER ['DOCUMENT_ROOT']。“/ / / some / path / images / companies /”;
确保您的路径没有丢失斜线,如果$ current ['id']没有斜杠,那么您必须写下:
$ images = glob($ dirname。“/ *。jpg”);
答案 2 :(得分:-2)
当oyu窃取代码时会出现问题,但不明白它的作用。
如果要扫描目录,可以使用scandir(),它返回一个包含它找到的所有文件的数组,例如。
$files = scandir("your/path/");
要显示它们,你只需使用print_r(),它的丑陋而不是格式化,但它的目的是,如果你想要更多,请使用echo和html / css:
echo "<pre>";
print_r($files);
echo "</pre>";
没有完成代码,请为自己考虑一下。