// www.devpro.it
function filepos($filename, $needle, $offset = 0){
$fp = fopen($filename, 'rb');
for($i = $offset, $next = strlen($needle), $length = 1 + filesize($filename) - $next, $found = false; $i < $length;){
if($found = strpos(fread($fp, $next), $needle) === 0)
break;
fseek($fp, ++$i, SEEK_SET);
}
fclose($fp);
return $found ? $i : -1;
}