2013-01-04 119 views
0

我是一名php初學者。我希望每當打開網頁時創建一個不存在的文件。但是每當我運行程序時,我都有一個錯誤讓我不知道該文件是否被創建。 這是我的代碼:創建文本文件拋出錯誤

$ip=$_SERVER["REMOTE_ADDR"]; 
if(!isset($_COOKIE['firsttime'])){ 
    setcookie('firsttime', 'no'); 
    $myfile = 'file/form'.$ip.'.txt'; 
    if(file_exists($myfile) == FALSE){ 
    $fo = fopen($myfile, 'w'); 
    $code = '<form action = "" method = "post">'; 
    fwrite($fo, $code); 
    fclose($fo); 
    }else{ 
    unlink($myfile); 
    $file = new File(); 
    } 

} 

我的錯誤在哪裏?

+3

你有寫權限來創建文件的目錄嗎? – dmaij

+0

你是否在Windows上本地執行此操作?你確定你沒有得到本地的IPv6地址嗎?那些包含':'字符,這在Windows文件名中是非法的。 –

回答

2
$ourFileName = "testFile.txt"; 
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file"); 
fclose($ourFileHandle); 

這樣做是爲了打開文件,如果文件不存在,它將創建文件。

0

不完全確定,但會導致一個很奇怪的文件名。

$myfile = 'file/form'.$ip.'.txt'; 

如果我的IP是1.0.0.01.23(真正隨機的,很奇怪)的文件名應該是:

file/form.1.0.0.01.23..txt 

嘗試保存在記事本該名稱的文件。

+1

它應該是'file/form1.0.0.01.23.txt'作爲前導後綴'.'是php中的連接運算符。就ip而言,一個ip地址只包含四個數字塊,而不是五個。你的IP無效... – War10ck