2013-01-04 121 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