我可以通过使用<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);
?>
答案 0 :(得分:2)
根据评论,您的代码不起作用,因为 - 出于神秘的原因 - 您更改了<>
中的所有<>
(也许您已从某些网络源复制了代码?)
BTW,对于记录:您使用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()
只有您想要的文件)。