InfoQ

交流

讨论:这段代码为何在linux系统上不能正常使用

作者 happyxu 发布于 2003-08-03 分类:php基础编程

function get_msg($path) { global $i; $handle = opendir($path); while ($filename = readdir($handle)) { $newpath = $path."/".$filename; if (is_file($newpath)) { for ($p=0;$p<=$i;$p++) { echo " "; //增加空格,便于查看 } echo $newpath."
"; //显示文件 } if (is_dir($path."/".$filename) && ($filename != ".") && ($filename != "..")) { for ($p=0;$p<=$i;$p++) { echo " "; //增加空格,便于查看 } echo "---".$newpath."----------
"; //显示文件夹 $i++; get_msg($path."/".$filename); //递归检索 } } closedir($handle); } get_msg("."); //调用 这段目录遍历代码在WIN2000+APACHE1.3.14+PHP4.05环境下能正常顺利地执行 而上传到服务器LINUX+APACHE1.3.26+PHP4.06环境下却出错, 报OpenDir: Too many open files 错误 这是为什么?



逛论坛交流这段代码为何在linux系统上不能正常使用

加入书签
digg+,
reddit+,
del.icio.us+,
dzone+

3 条回复

回复

get_msg("./"); 这样行不行? 发表人 tmyu 发表于 08月30日
不如就用glob函数 发表人 tmyu 发表于 08月30日
其实上述这个代码在LINUX系统中还是能执.. 发表人 happyxu 发表于 08月30日
  1. get_msg("./"); 这样行不行?

  2. 不如就用glob函数

  3. 其实上述这个代码在LINUX系统中还是能执行的 但从echo "---".$newpath."----------
    "; 这一句的结果可看到 结果执行得不彻底,不能到达最底层 如果一个文件夹有五层的话, 这个代码在LINUX下可能执行了三层就结束了, 报OpenDir: Too many open files 然后返回顶层的文件夹再执行 所以执行的结果是少了很多下层的文件夹和文件。 而在WINDOW下执行得很好,所有的文件和目录都能找出来 我晕啊




  4. 我有话要讲:(可以匿名发表, 发广告的有多远请滚多远!!!)

    昵称: 请输入验证码:


抢着回答

在xp下怎么安装apache+php+mysql?

在xp下怎么安装apache+php+mysql?或apache+php+oracle

有关XMLHTTP无刷新技术的贴子怎么没有了...

谁有相关资料发上来给我看看...

PHP代码为何贴不上来?

PHP代码为何贴不上来?

求首页自动更新的系统?

看到很多首页都有自动更新的功能,比如论坛的新贴啊 有没有这样...

关于vbb的讨论

刚才读了一下VBB的数据表结构和部分代码,的确是难得的好程序啊!...

快逃~!!

:eek:

怎么样查询一个类所支持的所有方法?

怎么样查询一个类所支持的所有方法? 比如,我定义个com的实例...

联想偶自己:一个程序员MM的一天~~

8:45am: 公车真tmd挤,要小心公交车色狼!! 9:00am: 果珍上星...

做一个oa要好多米米?

这个 http://www.aljoin.com/ 或者这个呢? http://2...

Php 如何实现分段???

:blink: 大虾们好~ !我是菜鸟。 如何实现文本的分段的效...

[]