2011-04-06 175 views
0

我想寫一些文本文件。PHP寫入文件

$myFile = "meinung.txt"; 
$fh = fopen($myFile, 'w') or die("can't open file"); 
$stringData = "Floppy Jalopy\n"; 
fwrite($fh, $stringData); 
$stringData = "Pointy Pinto\n"; 
fwrite($fh, $stringData); 
fclose($fh); 

當我要執行此,它說:「無法打開文件」

我是怎麼做了?

+3

您是否擁有該目錄的寫入權限? – fabrik 2011-04-06 09:22:20

+3

您有權限寫入文件/文件夾嗎? – Headshota 2011-04-06 09:22:20

+0

你可以試着拿出「死亡」,看看它給你的錯誤。 – 2011-04-06 09:30:07

回答

1

廣場

<?php 
error_reporting(E_ALL); 
ini_set('display_errors','On'); 
... 

您的代碼可以在屏幕上或在您的日誌文件得到錯誤信息的頂部(你知道你的錯誤日誌文件的,不是嗎?)。

設置文件的絕對路徑,以便您真正知道在實際創建文件的目錄中修復了文件系統權限,如註釋中所述。

+0

此外:使用'$ myFile = dirname(__ FILE__)。 「/ meinung.txt'; (或自$ PHP 5.3以後的'$ myFile = __DIR__。'/meinung.txt'),你會得到絕對路徑。 – KingCrunch 2011-04-06 09:47:37

+0

@KingCrunch - '__FILE__'(帶絕對路徑)自PHP 4.0.2起可用;並且:也許他想將內容放到除腳本之外的其他目錄中。 – initall 2011-04-06 09:53:56

+0

我知道'__FILE__'可用於...很長一段時間^^'__DIR__'從5.3開始可用。那就是你必須在版本<5.3中使用類似'dirname(__ FILE __)'的原因。該目錄的提示是有效的。所以'$ myFile = getcwd()。 '/meinung.txt';'可能更好。 – KingCrunch 2011-04-06 09:56:32