read sites from text file

hello there,
this is working perfectly fine but there are over 20 sites not just 3, I would like to make something so that it can read
the sites from a text file instead, the text file will have the sites like this

site1.com
site2.com
site3.com

how can I do something like that?
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] != "") { $ref=$_SERVER['HTTP_REFERER'];	} else { $ref='EmptyReferer'; }
if(!eregi('(site1.com|site2.com|site3.com)', $ref)) {
	//echo
}

Open in new window

LVL 1
XK8ERAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
Roger BaklundConnect With a Mentor Commented:
Something like this:
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] != "") {
  $ref=$_SERVER['HTTP_REFERER'];
  $data = file('domains.txt');
  if(in_array($ref.PHP_EOL,$data))
        //echo
}

Open in new window

0
 
Roger BaklundCommented:
Use the file() function to read the file into an array, and use in_array() to check if the domain is in the array.

http://php.net/manual/en/function.file.php
http://php.net/manual/en/function.in-array.php
0
 
XK8ERAuthor Commented:
how exactly can I do that?
0
 
ycTINConnect With a Mentor Commented:
cxr answer is correct

<?php
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] != "") { 
	$ref=$_SERVER['HTTP_REFERER']; 
} else { 
	$ref='EmptyReferer'; 
}
$data = file('domain.txt',FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
if(in_array($ref,$data)){
	echo "allow";
} else {
	echo "deny";
}
?>

Open in new window

0
 
XK8ERAuthor Commented:
for some reason its not working because the $ref is just (domain1.com or domain2.com) so it doesnt match maybe?
0
All Courses

From novice to tech pro — start learning today.