PHP Отображение вывода команд оболочки в поле в реальном времени - PullRequest
0 голосов
/ 07 мая 2020

У меня есть следующий код, который запрашивает ввод, а затем применяется shell.sh $folderPath $bits $group2

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

Как мне это сделать?

Ниже мой код.

<?php
    if (isset($_GET['folderPath']) && !empty($_GET['folderPath']) && file_exists($_GET['folderPath']) 
    && is_dir($_GET['folderPath']) && isset($_GET['bits']) && isset($_GET['group2'])) {

        $folderPath = $_GET['folderPath'];
        $bits = $_GET['bits'];
        $group2 = $_GET['group2'];

        $run = shell_exec("shell.sh $folderPath $bits $group2");
        echo "shell.sh $folderPath $bits $group2";
        var_dump($run);
    }
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
</head>
<body>
    <form action="">
        <label for="folderPath">Folder Path:</label>
        <input type="text" id="folderPath" name="folderPath">
    <br></br>
        <fieldset id="bits">
            <p>Please Choose bits: </p>
          <input type="radio" value="8bits" name="bits"> 8bits <br>
          <input type="radio" value="16bits" name="bits"> 16bits <br>
        </fieldset>
    <br></br>
        <fieldset id="audio-type">
            <p>Please Choose Type: </p>
          <input type="radio" value="C12" name="group2"> C12 <br>
          <input type="radio" value="LR" name="group2"> LR <br>
        </fieldset>
        <input class = "submitButton" type="submit" value="Submit">
</body>
</html>

1 Ответ

0 голосов
/ 07 мая 2020

Прежде всего, вам нужно куда-то отправить данные вашей формы. В вашем случае это тот же сценарий.

<form method="GET" action="path/to/my/script.php">

Во-вторых, shell_exe c () возвращает результат выполненной команды. Вы уже написали код.

$path = $_GET['folderPath'];
$bits = $_GET['bits'];
$group2 = $_GET['group2'];
$output = shell_exec("shell.sh $path $bits $group2");

В-третьих, отображайте вывод там, где хотите.

<div><?php print $output; ?></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...