2012-12-30 18 views
1

我想讓訪客保持ips並將它們放在文件中。
我試過fwrite()函數,但我認爲它是在previus ip上重寫的文件。在php上寫文件

例子。

ip.txt爲空。

當我運行該腳本write.php上ip.txt我有XXXX IP(我的IP)

如果我的朋友運行write.php腳本,在ip.txt我有AAAA IP(好友的IP只)

我的ip在哪裏? 我想有ip.txt文件如下:關於write.php

x.x.x.x ip1 
a.a.a.a ip2 

代碼如下。

<?php 
$file = fopen("ip.txt","w"); 
$ip=$_SERVER['REMOTE_ADDR']; 
echo fwrite($file,$ip); 
fclose($file); 
?> 
+7

你應該使用一個數據庫。 – jeroen

+0

我想將它們寫在文件上以獲得更高的安全性!誤解文件比msql數據庫更安全嗎? @jeroen – John

+0

有許多免費的開源分析工具可以與PHP一起工作,這將會做得更好。 – cgTag

回答

1
<?php 
$file = fopen("ip.txt","a"); 
$ip=$_SERVER['REMOTE_ADDR']; 
echo fwrite($file,$ip); 
fclose($file); 
?> 

看那manual

檢查什麼的第二個參數表示。

您選擇了w模式,這是一種覆蓋模式。嘗試使用a模式代替(追加)

6

更改 「W」 對 「一」

W表示寫(過),一個附加的裝置。

+0

糟糕。抱歉沒有看到你已經在這裏+1 – cjds

1

數據庫版本的'優勢'是沒有人可以查看數據 。如果neccesary,您可以通過使用.htaccess文件避免對文件的訪問:

對於Apache 2.2

# Protect log.txt 
<Files ./inscription/log.txt> 
Order Allow,Deny 
Deny from all 
</Files> 

對於Apache 2.4

# Protect log.txt 
<Files ./inscription/log.txt> 
Require all denied 
</Files>