Вы не можете заставить PHP открыть окно на компьютере пользователя, потому что PHP работает полностью на сервере. К тому времени, когда выходные данные достигнут браузера, сценарий, как правило, завершается - вы можете делать только то, что вы можете попросить браузер и что он вам разрешит (используя HTML / заголовки и т. Д.). В целях безопасности браузер не будет (или не должен) позволять произвольному веб-сайту делать очень многое с вашей машиной - например, это не позволит вам создавать новые процессы Windows.
Лучшее, что я могу сделать, это что-то вроде этого:
$string = 'a string';
header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="file.txt"');
echo $string;
Это отправит соответствующие заголовки, так что браузер будет обрабатывать контент как файл с именем file.txt типа простого текста. Браузер должен предложить им загрузить файл, который, скорее всего, откроется в блокноте, если только они не изменили ассоциацию файлов для .txt.
Однако вы не сможете получить какие-либо изменения, внесенные пользователем в документ, если вы не попросите его загрузить его, поэтому я не уверен, что это хорошее решение для того, что вы пытаетесь достичь.