无法使用 PHP 显示文件夹中的图像


cannot display images from a folder using php

我可以通过使用标签引用单个图像来显示<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 &gt; 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') 
    {
        ?&gt;
            &lt;a href="&lt;?php echo     $file_path; ?&gt;"&gt;&lt;img src="&lt;?php echo $file_path; ?&gt;"  height="250" /&gt;&lt;/a&gt;
            &lt;?php
    }
}
}
else
{
echo "the folder was empty !";
}
closedir($folder);
?>

根据评论,您的代码不起作用,因为 - 出于神秘的原因 - 您已经更改了&lt;&gt;中的所有<>(也许您从某个网络源复制了代码?

顺便说一句,记录:您使用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()您只有所需的文件)。