php - 为什么每次多出来两个div?
天蓬老师
天蓬老师 2017-04-11 09:53:10
[PHP讨论组]

我在外面套了一个p 为什么又多出来两个空的p呢 为什么每次总是多出来两个空的东西呢?这是哪里的原因呢?怎么样才能去掉呢?

$dir = "upload/"; 
    if (is_dir($dir)){
       if ($dh = opendir($dir)){
         while (($file = readdir($dh))!= false){
            echo '<p>';
            if (!is_dir($file)) {
              $filePath = $dir.$file;
              echo "<img src='".$filePath."'/>";
            }
            echo '</p>';
         }
        closedir($dh);
       }
    }
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
PHP中文网

打印下

print_r(readdir($dh));

就知道为什么了。

readdir 会打印出 . 和 .. ,所以你的 echo "<p>"应该放在if !is_dir里边

阿神

多出来的两个应该是当前目录的 . 和上级目录的 .. 你把这个两个过滤掉就行

PHP中文网

做个if判断就好了


$dir = "upload/"; 
if (is_dir($dir)){
   if ($dh = opendir($dir)){
     while (($file = readdir($dh))!= false){
        if (!is_dir($file)) {
        
          //. 和.. 在文件夹下,不管在什么系统中. 和..都是存在的, .指向当前目录, ..上一级目录
          if ($file === '.' || $file === '..') {
              continue;
          }
          
          echo '</p>';
          $filePath = $dir.$file;
          echo "<img src='".$filePath."'/>";
          echo '</p>';
        }
        
     }
    closedir($dh);
   }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号