Articles of stdin

PHP email Piping получает поле 'to'

Я пытаюсь использовать электронные письма с PHP. У меня есть работа, но я не могу получить поле «Кому». Я использую следующий код PHP: #!/usr/bin/php -q <?php // read from stdin $fd = fopen("php://stdin", "r"); $email = ""; while (!feof($fd)) { $email .= fread($fd, 1024); $to1 = explode ("\nTo: ", $email); $to2 = explode ("\n", $to1[1]); […]

Как подключить STDIN к PHP-порожденному процессу?

Моим Народы, Это своего рода странный PHPuzzle, но мне интересно, если это PHPossible. Конечной целью является эквивалентная функциональность mysql mydb < file.sql Но с API вроде этого ./restore < file.sql Где restore – это скрипт PHP, подобный этому #!/usr/bin/env php $cmd = "msyql mydb"; passthru($cmd, $status); Тем не менее, я хочу передать STDIN команде passthru […]

PHP дает конечную «=» на каждой строке после чтения из stdin

Содержимое stdin получает повреждение с переносом слов и завершением «=», в течение которого, очевидно, нарушается URL-адрес, который мне нужно отправить. Мне нужно извлечь URL-адрес из электронной почты, а затем отправить URL-адрес. Итак, я пишу свою электронную почту на php-скрипт в cpanel, используя стандартный снимок кода, который я видел по всему Интернету: $fd = fopen("php://stdin", "r"); […]

Почему stream_select в STDIN становится блокирующим, когда cmd.exe теряет фокус?

Цель: запустить PHP-файл в cmd, цикл скриптов x раз и на каждой итерационной проверке, чтобы узнать, ввел ли пользователь какой-либо вход ( stream_select () с STDIN ), и если это так – приостанавливает цикл до тех пор, пока пользователь не наткнется на ввод, затем распечатает ввода и продолжается с итерацией. Проблема: сценарий работает отлично до […]

PHP Получить пользовательский ввод без необходимости нажатия клавиши возврата

Привет, я использую PHP в режиме CLI (интерфейс командной строки) Я хотел бы получить ключ, который пользователь вводит, и немедленно отправить его в программу без необходимости нажатия клавиши возврата (Enter Key). Так, например, мне понравилось печатать письмо, которое пользователь вводит немедленно. Поэтому, если пользователь вводит «a», он сразу же отображает «a» в командной строке. Как […]

Чтение строки за строкой из STDIN без блокировки

В принципе, я ищу, чтобы читать строки из STDIN, но я не хочу блокировать, ожидая новых данных. Почти как использование потока с таймаутом. $stdin = fopen('php://stdin', 'r'); do { $line = fgets($stdin); // No input right now if (empty($line)) { // Do something before waiting for more input } } while (1);

ThreadPool процессов CLI

Мне нужно передать сообщения в CLI-процессы PHP через stdin из Java. Я хотел бы сохранить около 20 процессов PHP, запущенных в пуле, так что когда я передаю сообщение пулу, он отправляет каждое сообщение в отдельный поток, сохраняя очередь сообщений для доставки. Я бы хотел, чтобы эти PHP-процессы оставались в живых как можно дольше, создавая новый, […]

Как обрабатывать stdin для stdout в php?

Я пытаюсь написать простой скрипт php, чтобы взять данные из stdin , обработать его, а затем записать его в stdout . Я знаю, что PHP, вероятно, не лучший язык для такого рода вещей, но есть существующая функциональность, которая мне нужна. я пробовал <?php $file = file_get_contents("php://stdin", "r"); echo $file; ?> но это не сработает. Я […]

как перенаправить STDOUT на файл в PHP?

Код ниже почти работает, но это не то, что я действительно имел в виду: ob_start(); echo 'xxx'; $contents = ob_get_contents(); ob_end_clean(); file_put_contents($file,$contents); Есть ли более естественный путь?

Стандартный ввод PHP?

Я знаю, что PHP обычно используется для веб-разработки, где нет стандартного ввода, но PHP утверждает, что он может использоваться в качестве языка сценариев общего назначения, если вы следуете его навязчивым веб-соглашениям. Я знаю, что PHP печатает на stdout (или на все, что вы хотите назвать) с помощью print и echo , что достаточно просто, но […]