Пьяный скрипт или я??
1.
KOZZ (30.07.2010 / 20:46)
Скрипт для записи сайта - реферера в файл, и количество переходов с него. Сайт то пишет, а количество переходов обновлять отказывается, как будто не удовлетворяет условию
Писал пьяненький, чет не могу косяк найти )) покажите где ошибка плз:
<?
# запись реферера
$date = date('d_m_y');
if(!file_exists('dat/ref/'.$date.'.dat')){file_put_contents("dat/ref/$date.dat","Сайт|Количество переходов");}
$ref_f = file("dat/ref/$date.dat");
$ref_f_str = implode('',$ref_f);
foreach($ref_f as $num => $str){list($ref_site[],$ref_kol[]) = explode('|',$ref_f[$num]);}
$refer = parse_url($_SERVER['HTTP_REFERER']);
if(!empty($refer['host']) && $refer['host']!==$_SERVER['HTTP_HOST'])
{
$searched = array_search($refer['host'],$ref_site);
if($searched == false){file_put_contents("dat/ref/$date.dat",$ref_f_str."\r\n".$refer['host'].'|1');}
else {$ref_f[$searched] = $refer['host'].'|'.$ref_kol[$searched]++; file_put_contents("dat/ref/$date.dat",implode('',$ref_f));}
}
?>
2.
KOZZ (31.07.2010 / 08:51)
поможет кто нить?
3.
Антон (31.07.2010 / 11:26)
за пк попаду, напишу
4.
Антон (31.07.2010 / 13:22)
if(!empty($refer['host']) && $refer['host']!==$_SERVER['HTTP_HOST'])
попробуй заменить из этой строки знак неидентичности !== на неравно !=
5.
KOZZ (31.07.2010 / 15:15)
а че это изменит ?? это бессмысленно
6.
KOZZ (31.07.2010 / 16:03)
проблему решил.
вот как сделал в итоге:
<?
$date = date('d_m_y');
$stat_f = "dat/ref/$date.dat";
if(!file_exists($stat_f)){file_put_contents($stat_f,"Сайт | Переходов");}
$ref_f = file($stat_f);
$ref_f_str = implode('',$ref_f);
foreach($ref_f as $str){if(!empty($str)){list($ref_site[],$ref_kol[]) = explode('|',$str);}}
if(!empty($_SERVER['HTTP_REFERER'])){
$refer = parse_url($_SERVER['HTTP_REFERER']);
if(isset($refer['host']) && $refer['host']!==$_SERVER['HTTP_HOST'])
{
$searched = array_search($refer['host'],$ref_site);
if($searched == false){file_put_contents($stat_f,$ref_f_str."\r\n".$refer['host'].'|1');}
else {$ref_f[$searched] = $refer['host'].'|'.++$ref_kol[$searched]; file_put_contents($stat_f,implode('',$ref_f));}
}
}
?>
URL:
https://visavi.net/topics/12096