繁体   English   中英

无法使用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()您只有所需的文件)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM