我最近安装了Apache,PHP并开始研究一个小项目。
我有以下代码。
<?php
$tim=time();
$ip=$_SERVER['REMOTE_ADDR'];
$ipadd=$tim."IPaddress".$ip;
$fp="user_log.txt";// file address
$myfilea = fopen($fp,"a");//open file
fwrite($myfilea,$ipadd.PHP_EOL);//add data to file
echo fread($myfilea,filesize($fp));//read file
fclose($myfilea);//close file
?>
这是我能做的......我可以使用&#34; a&#34;模式添加文本或我可以使用&#34; r&#34;模式阅读文字。我不能两个都做。我尝试使用&#34; a +&#34;,&#34; r +&#34;,&#34; ar&#34;等。
我在设置过程中是否遗漏了什么?
我在Windows 8.1上运行它。
感谢您的帮助。
答案 0 :(得分:1)
您需要回放文件指针。
$tim = time();
$ip = $_SERVER['REMOTE_ADDR'];
$ipadd = $tim.'IPaddress'.$ip;
// file address
$fp = 'user_log.txt';
//open file
$myfilea = fopen($fp, 'a+');
//add data to file
fwrite($myfilea, $ipadd.PHP_EOL);
// your file pointer is at the end of the file now
// so rewind before you read
rewind($myfilea);
//read file
echo fread($myfilea, filesize($fp));
//close file
fclose($myfilea);
答案 1 :(得分:0)
尝试使用此代码,使用 file_put_contents
file_put_contents
=将字符串写入文件
$fp="user_log.txt";
$tim=time();
$ip=$_SERVER['REMOTE_ADDR'];
$ipadd=$tim."IPaddress".$ip;
$myfile = file_put_contents($fp, $ipadd.PHP_EOL , FILE_APPEND | LOCK_EX);
对于你的代码试试这个,它会检查能否打开文件
fopen("logs.txt", "a") or die("Unable to open file!");