Hola, es que si el fichero está vacio no te entra en el bucle porque sizeOf es 0 y por tanto no hay ninguna iteración.
Yo pondría $request_ip como Ok de partida y si hay alguna coincidencia recorriendo el fichero pues lo pones en bad.
Asi te ahorras if y elses
Código PHP:
fopen("lista.dat","a");
$fil_ban=file("lista.dat");
$request_ip="ok";
for ($p=0;$p<sizeof($fil_ban);$p++)
{
if ($_REQUEST['ip']=="".trim($fil_ban[$p])."")
{
$request_ip="bad";
}
}
print $request_ip;
Saludos