首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用fclose()关闭opendir资源

使用fclose()关闭opendir资源
EN

Stack Overflow用户
提问于 2014-03-04 19:22:17
回答 1查看 176关注 0票数 2

来自php脚本的警告

E_WARNING: fclose():6不是有效的流资源

代码语言:javascript
复制
if($handle = opendir($dir)){
//do stuff
if(is_resource($handle)){
    fclose($handle);
  }
}

在php中搜索它会得到一些较旧的bug报告,其中主要关注的是closedir()接受资源,但看起来fclose()应该接受从opendir返回的资源。

我还没有找到任何关于php中资源类型的通用最佳实践,以及如何正确地关闭它们。

此警告的后果是什么?我是不是遇到了内存泄漏或类似的问题?

EN

回答 1

Stack Overflow用户

发布于 2014-03-04 19:51:38

根据Docs的说法,你被支持用closedir($dh);来结束一个目录,

如下所示:

代码语言:javascript
复制
<?php
$dir = "/etc/php5/";

if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
        }
        closedir($dh);
    }
}
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22170567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档