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:
<?phpfunction 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