我可以通过使用标签引用单个图像来显示<img>
但我有这么多图像,因此单独引用每个图像需要花费很多精力。
这是我的 php 代码
<?php
$folder_path = 'paintings/'; //image's folder path
$num_files = glob($folder_path . "*.{JPG,jpg,jpeg,gif,png,bmp}", GLOB_BRACE);
$folder = opendir($folder_path);
if($num_files > 0)
{
while(false !== ($file = readdir($folder)))
{
$file_path = $folder_path.$file;
$extension = strtolower(pathinfo($file ,PATHINFO_EXTENSION));
if($extension=='jpg' || $extension =='png' || $extension == 'jpeg'|| $extension == 'gif' || $extension == 'bmp')
{
?>
<a href="<?php echo $file_path; ?>"><img src="<?php echo $file_path; ?>" height="250" /></a>
<?php
}
}
}
else
{
echo "the folder was empty !";
}
closedir($folder);
?>
根据评论,您的代码不起作用,因为 - 出于神秘的原因 - 您已经更改了<>
中的所有<>
(也许您从某个网络源复制了代码?
顺便说一句,记录:您使用glob()
检索文件总数,然后readdir()
处理每个文件。
您可以直接处理glob()
结果,从而提高代码的性能:
<?php
$folder_path = 'paintings/'; //image's folder path
$files = glob($folder_path . "*.{JPG,jpg,jpeg,gif,png,bmp}", GLOB_BRACE);
if( count( $files ) )
{
foreach( $files as $file_path )
{
?>
<a href="<?php echo $file_path; ?>"><img src="<?php echo $file_path; ?>" height="250" /></a>
<?php
}
}
else
{
echo "the folder was empty !";
}
?>
无需检查扩展名(glob()
您只有所需的文件)。