Помощ за отстраняване и преправяне на урок?

emcuemnecu

Registered
Здрасти. Това е код за уникални посещения, но ми дава грешка:
Код:
Deprecated: Function split() is deprecated in C:\xampp\htdocs\planina\index.php on line 171

Deprecated: Function split() is deprecated in C:\xampp\htdocs\planina\index.php on line 171
а на този ред имам:
Код:
list($visitorip_x) = split("\n",$line[$i]);

и ето го целия код:
Код:
<?php 
$countfile = "count.dat"; 
$ipcounter = "today.dat"; 
$countdate = date("j-n-Y"); 
$visitorip = $_SERVER[REMOTE_ADDR]; 
$maxrecord = date("d.m.Y (H:i)"); 

if (!file_exists($ipcounter)) { $fp = fopen($ipcounter, 'w+'); } 
if (!file_exists($countfile)) { $fp = fopen($countfile, 'w+'); fwrite($fp, "0|0|0|1|$countdate|0|$maxrecord"); } 

$fcontents = file_get_contents($countfile); 
list($today, $yesterday, $total, $days, $nowdate, $max, $nowrecord) = explode("|", $fcontents); 

if($countdate != $nowdate) { 
$ipfile2 = fopen($ipcounter, 'w'); 
$line = "$visitorip\n"; 
fwrite($ipfile2, $line, strlen($line)); 
fclose($ipfile2); 

if($today > $max) { $max = $today; $nowrecord = $maxrecord; } 
$yesterday = $today; 
$today = 1; 
$total++; 
$days++; 

$fp = fopen($countfile, 'w'); 
fwrite($fp, "1|$yesterday|$total|$days|$countdate|$max|$nowrecord"); 
fclose($fp); 
} 

else { 
$ipfile = fopen($ipcounter, 'rb'); 
$line = array(); 
while (!feof($ipfile)) $line[]=fgets($ipfile,1024); 
for ($i=0; $i<(count($line)); $i++) { 
list($visitorip_x) = split("\n",$line[$i]); 
if ($visitorip == $visitorip_x) {$found = 1;} 
} 
fclose($ipfile); 

if (!$found) { 
$ipfile2 = fopen($ipcounter, 'ab'); 
$line = "$visitorip\n"; 
fwrite($ipfile2, $line, strlen($line)); 
fclose($ipfile2); 

$today++; 
$total++; 

if($today > $max) { $max = $today; $nowrecord = $maxrecord; } 
$fp = fopen($countfile, 'r+'); 
fwrite($fp, "$today|$yesterday|$total|$days|$countdate|$max|$nowrecord"); 
fclose($fp); 
} 
} 
if($days == 1) { $dendni = "ден"; } 
else { $dendni = "дни"; } 
?> 

<div style="font-family:verdana;font-size:11px;color:#A80000;"> 
<b>Уникални посещения:</b> 
Днес <b><?php echo $today; ?></b> / 
Вчера <b><?php echo $yesterday; ?></b> / 
Общо <b><?php echo $total."</b> за <b>$days</b> ".$dendni; ?> / 
Средно дневно <b><?php echo ceil($total/$days); ?></b> / 
Рекорд <b><?php echo $max."</b> на <b>$nowrecord"; ?></b> 
</div>
Грешката я отстраних като премахнах въпросния ред, но ще може ли да се промени да не брои всеки рефреш на страницата а по IP
 
Замени името на функцията split с това: each
Виж това:
http://us1.php.net/split - за split
и това:
http://us1.php.net/each - за each

На червен фон в първия линк пише:
http://us1.php.net/split каза:
Warning
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.

Търси в сайта на php за такива функции, понякога е решение :)
 

Back
Горе