Prueba asi:
<?php
ob_start();
exec ("ping -n 5 www.yahoo.com", $respuesta);
echo "$respuesta"; //Aqui el echo como es output queda en el buffer
$bufer = ob_get_contents();
$archivo = fopen("prueba.txt", "w+");
fwrite($archivo, $bufer); //Aqui si es aplicable
fclose($archivo);
ob_end_clean();
?>
Saludos
Franco
P:S: Tambien he usado esto con exito; he trasladado
el archivo ping.exe al directorio donde esta este pequeño php.
<?php
$salida = `ping 200.60.107.197`;
$archivo = fopen("prueba.txt", "w+");
fwrite($archivo, $salida);
fclose($archivo);
?>
Nota: Fijate que el ping NO esta entrecomillas NI ' sino `