我在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