我在Windows 2000服务器上安装了XAMPP。除了PHP fopen函数,一切都很好。我不能用它创建或打开文件。奇怪的是我可以包含/ require/file_get_contents /其他文件相关的功能;也fopen不会产生任何错误或通知它只是返回NULL。PHP fopen对包含文件和get_file_contents的文件返回null
我已经尽最大努力授予文件和所有封闭文件夹给所有人的完全控制,但我仍然得到NULL而不是文件指针。
我已经试过这在PHP 5.2.9,5.2.13和5.3.1具有相同的效果。我已经通过php.ini文件寻找破坏它的东西;我甚至尝试删除和使用基本的ini文件从fopen工作,仍然没有什么东西的Linux机器。
我知道我必须重新启动apache后,改变我的ini和所有这一切,并已(我甚至重新启动服务器),所以没有它。
我在这个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。在没有包含的新文件中按预期工作。
它不能是apache/php的配置,因为file_get_contents使用与fopen一样的例程。 提供一个复制代码,而不是罗嗦的解释将是非常好的你 – 2010-03-11 04:42:46
是的,一些示例代码会很好。你如何测试NULL?你如何引用fopen文件并包含/ etc? – 2010-03-11 05:20:31
发表一个例子。我期望它是一个文件路径字符串问题:) – naugtur 2010-03-11 09:52:07