2010-03-11 36 views
4

我在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。在沒有包含的新文件中按預期工作。

+0

它不能是apache/php的配置,因爲file_get_contents使用與fopen一樣的例程。 提供一個複製代碼,而不是羅嗦的解釋將是非常好的你 – 2010-03-11 04:42:46

+0

是的,一些示例代碼會很好。你如何測試NULL?你如何引用fopen文件幷包含/ etc? – 2010-03-11 05:20:31

+0

發表一個例子。我期望它是一個文件路徑字符串問題:) – naugtur 2010-03-11 09:52:07

回答

0

因此,我們假設你正在使用這種代碼:

$fp = fopen("my_file.txt", "r"); 
$contents = fread($fp, filesize("my_file.txt")); 
fclose($fp); 

我是假設文件大小()函數返回空值?也可以嘗試stat($ filename)函數來查看你是否得到了一個相對完整的數組。

讓我知道你的結果。

+0

你應該發佈這個評論,而不是一個答案。 – 2012-09-04 09:58:29

1

感謝您的回覆。你是對的,因爲它不是任何配置問題。問題必須與我的一個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。在沒有包含的新文件中按預期工作。

+0

您應該更新問題,不要將更新發布爲答案。 – 2010-03-12 16:05:53

+0

你應該發佈這個評論,而不是一個答案。 – 2012-09-04 09:59:26