我正在爲我的網站製作一個獨特的訪問者計數器,我去了很多教程,直到我找到這個簡單的代碼,但問題是程序從未添加新的ips或計數新的訪問。 ip.txt和count.txt的值不會改變:(php程序無法更改文本文件的值
這裏是整個代碼:
<?php
function hit_count() {
$ip_address = $_SERVER ['REMOTE_ADDR'];
$ip_file = file ('ip.txt');
foreach($ip_file as $ip) {
$ip_single = ($ip);
if ($ip_address==$ip_single){
$found = true;
break;
} else {
$found = false;
}
}
if ($found==true){
$filename = 'count.txt';
$handle = fopen ($filename, 'r');
$current = fread($handle, filesize($filename));
fclose($handle);
$current_inc = $current = 1;
$handle = fopen($filename, 'w');
fwrite($handle, $current_inc);
fclose($handle);
$handle = fopen('ip.txt', 'a');
fwrite($handle, $ip_address."\n");
fclose($handle);
}
}
?>
此代碼充滿了錯誤。它永遠不會工作。 – Havenard
您需要'file()'的FILE_IGNORE_NEW_LINES標誌,否則永遠不會匹配。並使用'in_array()'而不是編寫自己的循環。 – Barmar
爲什麼當IP已經找到時將IP添加到'ip.txt'文件中?當它沒有找到時,您應該添加IP。 – Barmar