doujian0265 2010-12-14 08:34
浏览 58
已采纳

这个PHP opendir()在服务器上非常费力吗?

if (is_dir($dir)) {
  if($handle = opendir($dir)) { 
        while($file = readdir($handle)) {
        // Break the filename by period; if there's more than one piece, grab the last piece.
        $parts = explode(".", $file); 
        if (is_array($parts) && count($parts) > 1) {
            $ext = end($parts);
            // If it's an image that we want, echo the code.
          if ($ext == "png" OR $ext == "PNG" OR $ext == "jpg" OR $ext == "JPG" OR $ext == "jpeg" OR $ext == "JPEG" OR $ext == "gif" OR $ext == "GIF")
            echo "<img src=\"$path/$file\" />";
      } 
    }
    closedir($handle);
  }
...

I'm using it in Wordpress, and the page loads pretty slowly, but it could also be from having a lot of images on it. I just wanted to make sure I wasn't doing something that was frowned upon for performance reasons.

  • 写回答

3条回答 默认 最新

  • drkrsx3135168 2010-12-14 08:43
    关注

    Well you could make it more efficient:

    $extension = strtoupper(pathinfo($file, PATHINFO_EXTENSION));  
    if (in_array($extension(array('PNG', 'JPG', 'JPEG', 'GIF'))) {
        echo '<img src="$path/$file" />'; 
    }  
    

    or even using glob() rather than opendir/readdir/closedir... because you can give it a pattern of file extensions.

    But there's nothing inherently slow about it

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行