Перейти к содержимому

MOAB

- - - - -

Зафиксировать нажатие кнопки на php


  • Войдите, чтобы ответить
Сообщений в теме: 4

#1 azsx

azsx

    Почетный

  • Основатель
  • PipPipPipPipPip
  • 5 030 сообщений
3 144

Отправлено 10 Октябрь 2019 - 13:39

Внутрь цикла на php cli хочу вставить обработку нажатия кнопки q для выхода из цикла.
while ($x<10)
{
операции всякие
вот сюда вставить обработку нажатия "q", цикл не должен останавливаться на ввод значения с клавиатуры (ентер не надо нажимать)
}
Как это сделать?

#2 madcap

madcap

    Мастер

  • Старая гвардия
  • PipPipPipPip
  • 903 сообщений
832
  • ИзМосквы

Отправлено 10 Октябрь 2019 - 14:11

Вроде как везде пишут, что полноценной обработки ввода с клавы в php нет.
Юзать JS похоже придется по любому, и отправлять эти данные уже в php.

Правда поток данных в виде ввода строки всё же получить можно.

Так:
<?
echo 'Ты кто? ';
$s = fgets(STDIN, 255);
echo 'Привет $s
';
?>

Или так:

	function readline() {
		//открываем поток ввода
		$stdin = fopen('php://stdin', 'r');
		$data = fgets($stdin, 255);
		fclose($stdin);
		return $data;
	}


По идее можно было бы зациклить опрос ввода всего одного симовла, но беда в том, что в терминале для ввода строки нужно нажимать Enter.

#3 Матумба

Матумба

    во имя матана

  • Участник
  • PipPipPipPipPip
  • 5 154 сообщений
6 496
  • ИзКрии

Отправлено 10 Октябрь 2019 - 15:33

На венде будет блокировка до ввода, на линуксе может что-то есть, но лень копаться.
Для правильного выхода из программы по команде надо приладить обработку сигналов... ну и всегда есть Ctrl-C же :)
"Они не могут ничего, у них лапки котят"

#4 azsx

azsx

    Почетный

  • Основатель
  • PipPipPipPipPip
  • 5 030 сообщений
3 144

TC Отправлено 10 Октябрь 2019 - 15:36

нет на линуксе также требует ввода enter.
ctrl c прерывает в случайном месте. А мне хочется в моём, определённом.
Так как запускаю в линукс консоль, js нет.

#5 Матумба

Матумба

    во имя матана

  • Участник
  • PipPipPipPipPip
  • 5 154 сообщений
6 496
  • ИзКрии

Отправлено 10 Октябрь 2019 - 15:38

Просмотр сообщенияazsx сказал:

А мне хочется в моём, определённом.
Тогда только обработка сигналов IPC
"Они не могут ничего, у них лапки котят"



Похожие темы


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных



© 2019 SMO&SEO форум «WEBIMHO» — продвижение и создание сайтов, интернет-маркетинг

По вопросам рекламы на форуме и цены на рекламу
Все материалы SEO форума разрешены к копированию только с установкой гиперактивной ссылки на webimho.ru,
тем, кто этого не сделает, мы оторвем руки и ноги и поменяем местами,
а когда выйдем из тюрьмы, опять оторвем и опять поменяем.


Россия, г. Москва

Мы в соцсетях: twitter | вконтакте | facebook | livejournal