Hola, hay varias cosas que deberías mejorar. Una es no escribir líneas que no sean necesarias o utilizar variables simplemente como transmisoras de valores.
$arch=$ruta; no hace nada útil, por tanto mejor trabajar con $ruta directamente
Esto también es no útil:
$cont1=$cont+1;
$cont=$cont1;
Ahí debes trabajar directamente con $cont, añadir más variables no resulta útil.
Esto está mal planteado: $Arr[$cont]=array($linea);, estás creando una definición según la cual cada elemento de $Arr es un array a su vez
Este código puede ser una solución:
<?php
function LeerCrearArr($ruta){
$fp = fopen($ruta,"r");
$cont=0;
while(!feof($fp)){
$linea = fgets($fp);
$Arr[$cont]=$linea;
$cont=$cont+1;
}
return $Arr;
}
$resul= LeerCrearArr('prueba.txt');
echo 'Hay '.count($resul). ' elementos en el array <br/>';
for($i=0; $i<count($resul);$i++){
echo 'El contenido de la posicion'. $i .' es: ' . $resul[$i].'<br/>';
}
?>
Salu2