Php 无效语法-转盘的全局图像目录扫描

Php 无效语法-转盘的全局图像目录扫描,php,syntax,foreach,carousel,glob,Php,Syntax,Foreach,Carousel,Glob,此代码中存在以下语法错误: 警告:natcasesort()要求参数1为数组,布尔值在第14行的Website/assets/country-gallery-js.php中给出 警告:为第15行的网站/assets/country-gallery-js.php中的foreach()提供的参数无效 <?php $thumbs = glob("img/thumb/*.{jpg,png,gif}", GLOB_BRACE); ?> <?php if(count

此代码中存在以下语法错误:

警告:
natcasesort()
要求参数1为数组,布尔值在第14行的Website/assets/country-gallery-js.php中给出

警告:为第15行的网站/assets/country-gallery-js.php中的
foreach()
提供的参数无效

    <?php $thumbs = glob("img/thumb/*.{jpg,png,gif}", GLOB_BRACE); ?>
    <?php
    if(count($thumbs)) {
      natcasesort($thumbs);
      foreach($thumbs as $thumb) {?>
            <li class="item">
              <a class="fancybox" rel="gallery1" href="img/large/<?php echo basename($thumb) ?>">
                  <img src="<?php echo $thumb ?>" class="img-circle" width="100%" alt="" />
              </a>
          </li>
        <?php
        }
    }
    else {
      echo "Sorry, no images to display!";
    }
    ?>

  • 我不知道为什么。代码扫描文件夹中的图像以显示为旋转木马。它会扫描缩略图和大型图像文件夹中的lightbox。当图像在文件夹中时,它的工作方式就像一种款待。。当文件夹为空时,它应回显“else”文本代码。相反,它显示这种语法


    有谁能帮我弄清楚这一点并阻止语法出现吗?

    我相信使用大括号语法:

    glob("img/thumb/*.{jpg,png,gif}", GLOB_BRACE);
    
    不起作用,这可能会:

    glob("img/thumb/*.jpg,img/thumb/*.png,img/thumb/*.gif", GLOB_BRACE);
    
    检查问题所在的第一步是检查变量$thumbs的值。这会告诉您问题可能出在glob函数中。

    使用的是数组而不是计数
    
    Use is_array instead of count 
    <?php $thumbs = glob("img/thumb/*.{jpg,png,gif}", GLOB_BRACE); ?>
    <?php
    if (is_array($thumbs)) {
        natcasesort($thumbs);
        foreach ($thumbs as $thumb) {
            ?>
            <li class="item">
                <a class="fancybox" rel="gallery1" href="img/large/<?php echo basename($thumb) ?>">
                    <img src="<?php echo $thumb ?>" class="img-circle" width="100%" alt="" />
                </a>
            </li>
    
            <?php
        }
    } else {
        echo "Sorry, no images to display!";
    }
    ?>
    

  • 因此,即使目录为空$thumbs也必须返回一些内容。var_dump(拇指);是的,它返回指向以下行的上述错误:natcasesort($thumbs);foreach($thumbs as$thumb){在到达natecassort之前写出$thumbs。事实上,使用exit;只使用vardump($thumbs);$thumbs返回“bool(false)”当计数等于1时,按Nahne说的做。就这样!非常感谢,我现在明白问题了谢谢你的答案。不幸的是,没有改变。问题是数组会更好。啊,是的,我错过了图像在文件夹中的部分,我的错