来自php脚本的警告
E_WARNING:fclose():6不是有效的流资源
if($handle = opendir($dir)){
//do stuff
if(is_resource($handle)){
fclose($handle);
}
}
搜索这个在php中给出了一些较旧的bug报告,其中主要关注的是closedir()接受资源,但似乎fclose()应该接受从opendir返回的资源。
我无法在php中找到关于资源类型的任何一般最佳实践,以及如何正确关闭它们。
这个警告的后果是什么?我是否有内存泄漏或类似内容?
答案 0 :(得分:0)
根据Docs,您希望用closedir($dh);
关闭目录,
像这样:
<?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);
}
}
?>