motorway Posted October 2, 2007 Report Share Posted October 2, 2007 Есть программа .exe, которая работает через командную строку. Если ее просто запустить, то будет список параметров командной строки. А если запустить prog.exe file.txt, то она выдаст некий результат. Вопрос в том, как с помощью PHP (например, функция popen) запустить эту программу и передать ей на вход некоторый текст, который мог бы храниться в файле file.txt, но сам файл не создавать. При этом она должна работать так же, как если бы было запущено passthru ("prog.exe file.txt"); Главное - как обойти создание файла и просто его в скрипте сделать. Т.е. текст для файла подготавливается в скрипте, но файл на диске не создается, а сразу передается программе И при этом она выдает не список параметров, как было бы при запуске passthru ("prog.exe"), а нужный результат Link to comment Share on other sites More sharing options...
motorway Posted October 2, 2007 Author Report Share Posted October 2, 2007 Еще вопрос - как в пхп написать код, который равнозначен нажатию в командной строке Ctrl+Z, а затем Enter? (\n\...) Link to comment Share on other sites More sharing options...
Darhazer Posted October 3, 2007 Report Share Posted October 3, 2007 Первий вопрос... Записиваеш файл, запускаеш программу а потом файл удаляеш. Link to comment Share on other sites More sharing options...
motorway Posted October 3, 2007 Author Report Share Posted October 3, 2007 Нет, так не смогу - отключено разрешение на запись файлов, и я не могу его включать. А второе? Link to comment Share on other sites More sharing options...
Тролль Posted October 3, 2007 Report Share Posted October 3, 2007 Ctrl+Z вводит служебный символ с кодом 26, Enter - символ с кодом 13. Link to comment Share on other sites More sharing options...
Darhazer Posted October 3, 2007 Report Share Posted October 3, 2007 Перенаписать прогу (exe) чтоб работала в CGI режиме и читала не из файла, а из <STDIN>.... А то питаешся пользувать две совсем различние тегнологии Link to comment Share on other sites More sharing options...
motorway Posted October 3, 2007 Author Report Share Posted October 3, 2007 В общем, у меня проблема вот в чем: Я запускаю файл prog.exe con (консоль) Дальше в командной строке можно писать символы. Например, abc. Но если я хочу с помощью PHP запустить эту прогу и написать символы (КАК С КЛАВИАТУРЫ), то у меня запускается прога, но дальше скрипт "зависает". Т.е. как сделать эмуляцию ввода с клавиатуры, чтобы дальше написать ей текст? Link to comment Share on other sites More sharing options...
Darhazer Posted October 3, 2007 Report Share Posted October 3, 2007 (edited) Не уверен, что будеть работать так как надо, но попробуйте писать в php://stdout это надо делать как и в обичном файле, только для имя файла в fopen указиваете php://stdout Edited October 3, 2007 by Darhazer Link to comment Share on other sites More sharing options...
motorway Posted October 3, 2007 Author Report Share Posted October 3, 2007 Не уверен, что будеть работать так как надо, но попробуйте писать в php://stdout это надо делать как и в обичном файле, только для имя файла в fopen указиваете php://stdout не работает, и не собирается работать Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now