简体   繁体   中英

PHP Display Shell Command Output in a box in Real Time

I have the following code which asks for input then applies shell.sh $folderPath $bits $group2

And I would like to have a box where it displays the output of my script exactly how it would've looked if I ran in in a terminal.

How do I do that?

Below is my code.

<?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>

First of all, you need to send your form data somewhere. In your case, it is your same script.

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

Secondly, shell_exec() returns output of executed command. You already wrote the code.

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

Thirdly, display the output where you want.

<div><?php print $output; ?></div>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM