powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP CLI: Обработать нажатие кнопки
5 сообщений из 5, страница 1 из 1
PHP CLI: Обработать нажатие кнопки
    #39810159
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть скрипт на PHP, который выводит определенную информацию.
Затем он выдает запрос "Продолжить, [Yes/No]" и ждет от пользователя ввода.
Если использовать readline, то пользователь должен ввести текст и нажать Enter.
А я бы хотел, чтобы достаточно было нажатия кнопки Y или N.
Можно ли так сделать?
Теоретически для этого подходит ncurses_getch, но нужно устанавливать Ncurses.
А нет ли встроенных функций?
...
Рейтинг: 0 / 0
PHP CLI: Обработать нажатие кнопки
    #39810162
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а чем не устраивает readline со значением по умолчанию по нажатию enter?
так работают большинство утилити
...
Рейтинг: 0 / 0
PHP CLI: Обработать нажатие кнопки
    #39810179
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве у readline есть значение по умолчанию? Или имеется ввиду интерпретировать пустую строку, как значение по умолчанию?
Не нравится то, что нужно нажимать Enter. А если разрешать пустую строку, то Enter может быть нажат ошибочно или по инерции.
...
Рейтинг: 0 / 0
PHP CLI: Обработать нажатие кнопки
    #39810191
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.А если разрешать пустую строку, то Enter может быть нажат ошибочно или по инерции.Enter всегда может быть "нажат ошибочно или по инерции". В критических местах, конечно, следует требовать явного ввода текста и не разрешать пустую строку.
...
Рейтинг: 0 / 0
PHP CLI: Обработать нажатие кнопки
    #39810217
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем пока сделал так:
Код: php
1.
2.
3.
4.
5.
6.
7.
print 'Выполнять перерегистрацию (Y/N)? ';
$h = fopen("php://stdin","r");
$r = $w = $e = $ret = null; $r = [$h];
if (stream_select($r, $w, $e, 5)) $ret = fgets($h);
fclose($h);
$ret = strtoupper(substr(trim($ret),0,1));
$autofix = (boolean)($ret == 'Y');


Но если в PHP есть нативные способы определить нажатую кнопку, то хотелось бы о них узнать.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP CLI: Обработать нажатие кнопки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]