Prueba si esto te funciona,
Código:
<script>
function HazArrayM_txt()
{
var l;
datosM = []; // Vaciamos el array
<?php
if (file_exists('XX/Prueba.txt'))
{
$fp = fopen('XX/Prueba.txt', 'r');
echo "datosM = [";
while (!feof($fp))
{
$linea = fgets($fp);
$l = strlen($linea);
if ($l > 17) {
$linea = substr($linea, 0, 16);
echo "'$linea' ,";
}
}
fclose($fp);
}// if
echo "]";
?>
}; // fin HazArrayM
</script>
Básicamente es tu función pero en ves de intentar escribir en la memoria del cliente trato de crear el arreglo literal como en el ejemplo que te puse antes.
saludos
Edito: Faltaba encerrar el texto entre comillas.