php循环通过HTML错误中的文件夹和回声图像



我只是无法让这个工作在这里有什么问题?

 $files = scandir('gallery/');
 if ($files !== false) 
 {
    foreach($files as $f) {
      if ($f == '..' || $f == '.')
          continue;     
      echo '<li><img src="gallery/'.$f.'" alt="'.$f.'" title=""></li>'."n";
    }
 } 

该文件夹位于我的根文件夹中,名为"画廊"。图像在内部..

我总是会遇到此错误:

警告:第101行中的" mydocument.php"中为foreach()提供了无效的论点。

<?php
$files = scandir('gallery/');
if ($files !== false) 
{
    foreach(is_array($files) as $f) {
    if ($f == '..' || $f == '.')
?>
    <li><img src="<?php echo 'gallery/'.$f ?>" alt="<?php echo $f ?>" title="">
<?php
   }
} 
?>

这对我来说有用...

<?php
    $files = scandir('gallery/');
    if ($files !== false) {
        foreach($files as $f) {
            if ($f == '..' || $f == '.') continue;
            echo $f . "<br>n";
        }
    }
?>

它与您的代码完全相同...因此,请检查"画廊/"目录内容...

更改为:

 foreach((array)$files as $f)

代码可能是:

 $files = scandir('gallery/');
 if ($files !== false) 
 {
    foreach((array)$files as $f) {
      if ($f == '..' || $f == '.')
          continue;     
      echo '<li><img src="gallery/'.$f.'" alt="'.$f.'" title=""></li>'."n";
    }
 } 

您不应该用:

验证数组
if ($files !== false) 

但通过:

if (is_array($files) && count($files) > 0) {

否则您会收到这样的警告。

[编辑]并考虑像一个人一样使用地球。这将与该功能一起使用。

示例:

if (is_array($files) && count($files) > 0) {
   foreach(glob('gallery/*.{jpeg,gif,png}', GLOB_BRACE)) {
      // code here
   }
}

最新更新