当前目录中的图像未显示

时间:2015-08-19 17:07:54

标签: php

我正在尝试使用php脚本显示当前目录中的所有图像。 显示图像的php文件也在同一目录中。 这是脚本

 <?php 
$dir =basename(__DIR__);
if (file_exists($dir) == false) 
{  
echo 'Directory \''. $dir. '\' not found!'; 
}
else{
$dir_contents = scandir($dir);  
foreach ($dir_contents as $file) 
 {     
 $file_type = strtolower(end(explode('.', $file)));    


if ($file !== '.' && $file !== '..' && in_array($file_type, $file_display) == true)
 {          
echo '<img src="'.$dir. '/'.$file. '" alt="'.$file. '" />';     }    }  }   
 ?>

输出显示no目录存在。但我已经看到该目录存在。请告诉我我的代码有什么问题 谢谢

1 个答案:

答案 0 :(得分:0)

我稍微重写了你的脚本。使用glob()获取文件,使用pathinfo()获取文件扩展名。

$files = glob(__DIR__.DIRECTORY_SEPARATOR.'*'); 
foreach ($files as $file) {
    if (!is_file($file)) { // if isn't file, skip it
        continue;
    }

    $info = pathinfo($file);
    // check if allowed extensions
    if (in_array(strtolower($info['extension']), array('jpg', 'png', 'gif'))) {
       echo ...; // your image echo
    }
}

如果所有图片都是jpg

$files = glob(__DIR__.DIRECTORY_SEPARATOR.'*.jpg');

然后跳过部分并检查扩展名。