Hola Cabanota, el apartado a) perfecto.
El apartado b) perfecto.
Para el apartado c) el enunciado pide que la función devuelva el array pero no dice nada de que la función deba recorrer el array ni mostrar su contenido, por ello es preferible no meter ese recorrido dentro de la función. Si es una función debe tener un return, eso es lo que te ha faltado.
El código con ese cambio para que la función obtenerArrNum devuelva un array y que el recorrido se haga fuera de la función quedaría así:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<?php
function escribirTresNumeros($num1, $num2, $num3)
{
$fp = fopen("ficheroBorrar.txt", "w");
fputs($fp, $num1 . "\n" . $num2 . "\n" . $num3 . "\n");
fclose($fp);
}
function obtenerSuma($ruta)
{
$resul = 0;
$aux = 0;
$linea = array();
$fp = fopen($ruta, "r");
while (!feof($fp)) {
$linea[$aux] = fgets($fp);
$aux++;
}
for ($i=0; $i < count($linea); $i++) {
$resul = $resul + $linea[$i];
}
fclose($fp);
return $resul;
}
function obtenerArrNum($ruta)
{
$array = array();
$cont = 0;
$fp = fopen($ruta, "r");
while (!feof($fp)) {
$array[$cont] = fgets($fp);
$cont++;
}
fclose($fp);
return $array;
}
escribirTresNumeros(2, 8, 14);
echo "Suma: " . obtenerSuma("ficheroBorrar.txt");
echo "<br/>";
$arrayObtenido = obtenerArrNum("ficheroBorrar.txt");
echo "<br/>Elementos del array obtenido con la función: </br>";
for ($i=0; $i < count($arrayObtenido) - 1; $i++) {
echo $arrayObtenido[$i] . ", ";
}
?>
</body>
</html>
Salu2