$ip = $_SERVER['REMOTE_ADDR']; //get IP
$referer = $_SERVER['HTTP_REFERER']; //get referer
$time = time(); //extracting timestamp
$date = date('d-m-y H:i:s',$time); //generating date
$f = fopen("log.php", "a"); //opening files
$counter = fgetc("hitleap.txt");
$f2 = fopen("hitleap.txt", "w+");
if($referer == "http://hitleap.com/traffic-exchange"){
fwrite($f2, $counter++);
fclose($f2);
} else {
fwrite ($f, '<div class="spoiler"><input type="button" onclick="showSpoiler(this)" value="Show/Hide" />
Data/Ora: <b>['.$date.']</b><br>
<div class="inner" style="display:none">
IP: <b>['.$ip.']</b> <br>
Provenienza: <b>['.$referer.']</b>
</div></div><br>
');
fclose($f);
}
В принципе, если посетитель сайта приходит с сайта hitleap, я хочу увеличить число внутри файла txt на 1. Если нет, добавьте в другой файл журнала его IP и референт внутри спойлера , Вторая часть работает очень хорошо, но я не могу получить первую часть работыPHP increment by 1 issue
Также hlaimap.txt как-то очищается каждый раз, когда применяется «else».
EDIT решаемые так:
$ip = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
$time = time();
$date = date('d-m-y H:i:s',$time);
$hits = file_get_contents("hitleap.txt");
$nhits = $hits+1;
if($referer == "http://XXX"){
$f2 = fopen("hitleap.txt", "w+");
fwrite($f2, $nhits);
fclose($f2);
} else {
$f = fopen("log.php", "a");
fwrite ($f, '[email protected] u want here');
fclose($f);
}
, кажется, работает хорошо для меня
'fwrite ($ f2, $ counter ++);' сначала он записывает значение и увеличивает счетчик '$ counter'. напишите его как 'fwrite ($ f2, ++ $ counter);' – Cheery
$ f2 = fopen ("hitleap.txt", "w +"); - Это откроет файл hitleap.txt в режиме записи, после удаления его предыдущего содержимого. Он должен работать нормально, если вы поместите эту строку внутри блока if. – Ananth
Sidenote о '$ _SERVER ['HTTP_REFERER']' => http://stackoverflow.com/a/6023980/ –