我正在使用以下内容列出目录中的所有jpg图像,但由于某些原因,它不起作用,我认为我的一些和.s可能放错了地方,我觉得我有点困惑:-s。
<?php
if ($handle = opendir('images/photobanner')) {
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg')
{
$thelist .= '<li><a href="'.$file.'">'<img src="'.$file.'.'"/>'</a></li>';
}
}
closedir($handle);
}
?>
<P>List of files:</p>
<UL>
<P><?=$thelist?></p>
</UL>
如下更改连接lins。
$thelist .= '<li><a href="'.$file.'"><img src="'.$file.'"/></a></li>';
并且在开始循环之前声明$thelist
,它在作用域
您的变量$thelist
仅在while循环中已知。
如果你把开头改成这样,它应该会起作用:
<?php
$thelist = "";
if ($handle = opendir('images/photobanner')) {
你的问题的技术术语是"范围"。
也许glob()
最适合你,你有一些额外的'
:
$thelist = '';
foreach (glob("images/photobanner/*.jpg") as $file) {
$thelist .= '<li><a href="'.$file.'"><img src="'.$file.'"/></a></li>';
}
echo $thelist;