微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP fopen在使用include和get_file_contents工作正常的文件上返回null

我在Windows 2000服务器上安装了XAMPP.除了PHP fopen函数之外,一切都很好用.我既不能创建也不能用它打开文件.奇怪的是我可以包含/ require / file_get_contents /其他文件相关的功能; fopen也不会产生任何错误通知它只返回NULL.

我已经尽可能完全控制文件和所有封闭文件夹给每个人但我仍然得到NULL而不是文件指针.

我已经在PHP 5.2.9,5.2.13和5.3.1上尝试过这个效果.我已经浏览了PHP.ini文件,寻找破坏它的东西;我甚至尝试删除和使用Linux框中的基本ini文件,其中fopen正在工作,但仍然没有.

我知道我必须在更改我的ini之后重新启动apache并且已经(我甚至重新启动了服务器)所以不是这样.

在这个poing假设它是一个apache配置问题不知何故,明天我将通过PHP-cli运行测试以确保.

我真的不想再挫伤我的脑袋这可以帮助一些apache / PHP向导吗?

嗨,大家好,

谢谢你的回复.你是对的是没有任何配置问题.问题必须是我的一个dll或我包含的文件之一.我只是尝试了相同的代码,没有任何包含在新文件中工作,我禁用我的自定义库,它工作.

这里的记录是我正在做的不起作用:

$test_file = 'c:\\test.csv';//everybody has full control. is very large.
    if(file_exists($test_file) && is_readable($test_file)){
        $fp = fopen($test_file, 'r');
        echo var_export($fp, true);//outputs NULL. on my linux Box this is a number.
        if($fp !== false){
            //do the work
            fread($fp, 10);//throws the error that $fp is not a valid file handle
        }
    }

我所包含的东西必须以某种方式打破fopen.在没有包含的新文件中按预期工作.

解决方法:

谢谢你的回复.你是对的,因为它不是任何配置问题.问题必须是我的一个dll或我包含的文件之一.我只是尝试了相同的代码,没有任何包含在新文件中工作,我禁用我的自定义库,它工作.

这里的记录是我正在做的不起作用:

$test_file = 'c:\\test.csv';//everybody has full control. is very large.
    if(file_exists($test_file) && is_readable($test_file)){
        $fp = fopen($test_file, 'r');
        echo var_export($fp, true);//outputs NULL. on my linux Box this is a number.
        if($fp !== false){
            //do the work
            fread($fp, 10);//throws the error that $fp is not a valid file handle
        }
    }

我所包含的东西必须以某种方式打破fopen.在没有包含的新文件中按预期工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐