Я только что попробовал это, и он отлично работает в Windows, так что вы, вероятно, можете копировать с помощью vi или любого другого приложения, которое вам нужно в Linux.
Ключ в том, что exec()
зависает процесс php во время работы блокнота (в данном случае).
<?php
exec('notepad c:\test');
echo file_get_contents('c:\test');
?>
$ php -r test.php
Редактировать: Как показывает ваша попытка, и bstark указал, что мой тест блокнота запускает новое окно, так что все в порядке, но любой редактор, работающий в консольном режиме, не работает, потому что у него нет терминала для подключения.
При этом я попробовал установить на Linux коробку с exec('nano test'); echo file_get_contents('test');
, и она не так плохо, как vi, просто работает, ничего не отображая. Я мог напечатать что-нибудь, нажать «ctrl-X, y», чтобы закрыть и сохранить файл, а затем скрипт php продолжил и показал то, что я написал. Во всяком случае .. Я нашел правильное решение, так что приходит новый ответ.