0

我想对来自目录的图像设置一个条件,如果图像计数为 1,则显示此 div。但是在对其应用条件后,条件无法正常运行。请帮我解决这个问题:我的代码如下:

 <?php

    $id = 115; 
    $path_image = "pageimage/".$id."/";
            if(file_exists($path_image)){ 
            $dir =  dir($path_image);


    //List files in images directory
    while (($file =  $dir->read()) !== false){
   if($file>=1){  
    ?>
    <div id="middleimg" style="background:url(<?php echo $path_image.$file; ?>); background-repeat:no-repeat;">


      <div id="nav">
        <div id="navinner">
          <ul>
            <?php
                                    foreach($pageMenu as $pmenu){
                                    $url = generateURL($pmenu->custom_url, $pmenu->page_friendlyname, $pmenu->page_title, $pmenu->page_id);?>
            <li><a href="<?php echo $url; ?>"><?php echo $pmenu->page_name; ?> </a> </li>
            <?php } ?>
            <!--<li><a href="index.php">HOME</a></li>
            <li><a href="aboutus.php">ABOUT</a></li>
            <li><a href="menu.php">MENU</a></li>
            <li><a href="#">LOCATION</a></li>
            <li><a href="deliverly.php">DELIVERY</a></li>
            <li><a href="#">SPECIAL OFFER</a></li>
            <li><a href="#">CONTACT</a></li>-->
          </ul>
        </div>
      </div>
      <div id="banner-containerhome">
        <div id="promoBanner">
          <!--<div id="pizza">-->
          <div id="wowslider-container1">
        <div class="ws_images">
    <span><img src="data1/images/banner.jpg" alt="" title="" id="wows0"/></span>
    <span><img src="data1/images/banner.jpg" alt="" title="" id="wows0"/></span>
    </div>
    <div class="ws_bullets"><div>
    <a href="#wows0" title=""><img src="data1/tooltips/banner.jpg" alt=""/>1</a>
    <a href="#wows1" title=""><img src="data1/tooltips/chrysanthemum.jpg" alt=""/>2</a>
    </div></div>
        <div class="ws_shadow"></div>
        </div>
        <script type="text/javascript" src="engine1/script.js"></script>

         <!-- </div>-->

        </div>
          <div class="rightcontents">
          <?php 

     echo $page_content[1]->page_content;

          ?>
          </div>
      </div>
    </div>
    <?php }}} ?>
4

1 回答 1

0

有几件事...

1.- read() 将目录作为迭代器读取,返回文件名,你试过echo $file;吗?

if($file >= 1)永远不会是真的,因为 $file 总是一个字符串,而不是一个整数,你在那里比较:if("myfilename.ext" >= 1)

要计算文件总数,您应该在整个目录中执行一段时间并使用计数器,为每个文件增加它。

或者您可以使用scandir("myPath")函数,获取指定为数组的路径中的所有文件。例如:

$dir = scandir("myDir");
$total = count($dir); // this gives you the lenght of the array, therefore the files.

计数时,请记住父目录和根目录也被视为“文件”,并且在某些方法中,thumbs.db(windows) 或 DS_store(osx) 是隐藏文件,用于存储有关您如何对文件夹进行排序的信息,文件夹图标和东西也会被计算在内,所以记得添加一个 If 语句来跳过它们。

于 2012-11-27T08:35:48.763 回答