2013-06-26 34 views
0

水珠圖像目錄掃描我有這個代碼的語法如下錯誤:無效的語法 - 用於傳送帶

警告:natcasesort()預計參數1是數組,布爾在網站 /資產/國家畫廊,JS給上線14 .PHP

警告:網站 /assets/country-gallery-js.php爲foreach()無效的論點提供在線路15

<?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!"; 
    } 
    ?> 

我不確定爲什麼。該代碼掃描圖像的文件夾以顯示爲輪播。它掃描縮略圖和大圖像文件夾燈箱。當圖像在文件夾中時,它就像是一種享受。當文件夾爲空時,它應該回顯'其他'文本代碼。相反,它顯示了這種語法。

任何人都可以幫我找出這一個,並停止出現的語法?

+0

所以,即使目錄是空的,$ thumbs必須返回一些東西。後續代碼var_dump($大拇指); – karmafunk

+0

是的,它是返回上述錯誤指向的行:\t \t \t \t \t \t \t natcasesort($ thumbs); \t \t \t \t \t \t \t \t的foreach($大拇指爲$拇指){ –

+0

寫出$才把大拇指natecasesort。實際上使用exit;和只是vardump($拇指); – karmafunk

回答

1
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!"; 
} 
?> 
+0

這就是它!非常感謝,我現在明白了這個問題 –

0

我相信使用大括號語法:

glob("img/thumb/*.{jpg,png,gif}", GLOB_BRACE); 

不會工作,這將可能:

glob("img/thumb/*.jpg,img/thumb/*.png,img/thumb/*.gif", GLOB_BRACE); 

的第一步,你應該做的檢查問題所在是檢查什麼變量$ thumbs所具有的價值。這會告訴你這個問題可能在glob函數中。

+0

感謝您的回答。不幸的是,沒有任何改變問題是一個數組本來會更好 –

+0

啊是的,我錯過了當圖像在文件夾中的部分,我的不好 –

+0

:)無後顧之憂,謝謝 –