file() returns an array, so [man]count/man can be used:
$lines = file($dir . $file);
$lines_num = count($lines);
for ($i = 0; $i < $lines_num; $i++) {
print $lines[$i];
}
however, in your example, using [man]foreach/man could be even simpler:
$lines = file($dir . $file);
foreach ($lines as $line) {
echo $line;
}
I dont use $fp for the variable name as file() does not return a file pointer, so the name is misleading.