首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP fopen在与include和get_file_contents配合使用良好的文件上返回null

PHP fopen在与include和get_file_contents配合使用良好的文件上返回null
EN

Stack Overflow用户
提问于 2010-03-11 12:17:43
回答 2查看 2K关注 0票数 3

我在Windows2000服务器上安装了XAMPP。除了PHP的fopen函数之外,所有的功能都运行得很好。我既不能创建也不能用它打开文件。奇怪的是,我可以包含/require/ file _get_content/其他与文件相关的函数;而且,fopen不会生成任何错误,也不会注意到它只是返回NULL。

我已经将文件和所有封闭文件夹的完全控制权授予每个人,但我仍然得到NULL而不是文件指针。

我已经在php 5.2.9,5.2.13和5.3.1上尝试过了,也有同样的效果。我已经检查了php.ini文件,寻找有什么东西破坏了它;我甚至尝试从运行fopen的linux机器中删除和使用基本的ini文件,但仍然一无所获。

我知道我必须在修改我的ini之后重启apache,而且我已经重启了(我甚至重启了服务器),所以不是这样的。

我在这里假设这是一个apache配置问题,明天我将通过php-cli运行一个测试来确认。

我真的不想再为这件事伤脑筋了,能不能找个apache/php向导来帮我?

感谢您的回复。您是对的,这不是任何配置问题。问题一定是我的某个dll或我的某个包含文件出了问题。我只是尝试了相同的代码,这些代码在没有任何include的新文件中不起作用。我禁用了我的定制库,它起作用了。

根据记录,我正在做的事情是不起作用的:

代码语言:javascript
复制
$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
        }
    }

我所包含的东西一定是以某种方式被打破了。在没有包含的新文件中按预期工作。

EN

回答 2

Stack Overflow用户

发布于 2010-03-12 01:12:18

感谢您的回复。您是对的,因为这不是任何配置问题。问题一定是我的某个dll或我的某个包含文件出了问题。我只是尝试了相同的代码,这些代码在没有包含任何内容的新文件中不起作用,我禁用了我的定制库,它起作用了。

根据记录,我正在做的事情是不起作用的:

代码语言:javascript
复制
$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
        }
    }

我所包含的东西一定是以某种方式被打破了。在没有包含的新文件中按预期工作。

票数 1
EN

Stack Overflow用户

发布于 2010-03-12 00:49:36

所以我们假设你使用的是这种代码:

代码语言:javascript
复制
$fp = fopen( "my_file.txt", "r" );
$contents = fread($fp, filesize( "my_file.txt" ) );
fclose($fp);

我是否应该假设filesize()函数返回null?还可以尝试使用stat($filename)函数,看看是否得到了一个相对完整的数组。

让我知道你的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2422507

复制
相关文章

相似问题

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