Hi, i'm makeing a script that logs reffered links and desplys them on the website.
Conditions,
* It only desplys the last 5 reffers.
* it dosent desply referers from my domain.
* It dosent desply domains already on the list
Now that last part is wer it's going wrong, i dont want it to desply domains alredy in the current 5 being desplyed but i do want it to desply them if ther not already being desplyed.
Heres my code.
PHP Code:
<?
$filename = "referers.txt";
$lines = array();
$filecheck = fopen($filename, "r");
$getcontents=file_get_contents($filename);
$referer = $_SERVER['HTTP_REFERER'];
$short_referer = preg_replace('/^http:\/\/(www\.)?([^\/]+).*$/i', '\2', $_SERVER['HTTP_REFERER']);
$HTTP = "http://";
$write = "<a href=$referer><li>$short_referer</a>";
while(!feof($filecheck)) {
$lines[] = fgets($filecheck, 4096);
}
fclose ($filecheck);
if (preg_match("/http/i", "$referer")) {
echo "";
if ( $short_referer == "my domain")
{
echo "";
} elseif (preg_match("/$short_referer/", "$getcontents")) {
echo "";
} else {
$addref = "referers.txt";
$file = fopen ( $addref, "a+") ;
fwrite ( $file, "
$write" ) ;
fclose ( $file ) ;
}
} else { echo ""; }
$lines = array_reverse($lines);
echo "
<ul>
$lines[0]
$lines[1]
$lines[2]
$lines[3]
$lines[4]
</ul>
";
?>
Now to desply th last 5 written is easy i jsut use
PHP Code:
$lines = array_reverse($lines);
echo "
<ul>
$lines[0]
$lines[1]
$lines[2]
$lines[3]
$lines[4]
</ul>
However when it check to see if the domain is already on the list.
PHP Code:
elseif (preg_match("/$short_referer/", "$getcontents"))
it looks at the hole file, how do i get it to look at the last 5 referers??
__________________
Need PHP Help? Got Skype?
Call me!
|