php执行shell_exec("ntpq -p") html通过ajax调用php 将php输出的内容绘制成表格输出在页面上的完整代码
时间: 2024-03-03 20:46:52 浏览: 118
以下是一个简单的示例代码,可以通过 AJAX 调用 PHP 文件,并将 shell_exec("ntpq -p") 的输出转换成 HTML 表格并返回到页面上:
index.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>PHP AJAX Shell Exec</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(document).ready(function() {
$("#btn").click(function() {
$.ajax({
url: "shell_exec.php",
type: "POST",
data: {},
success: function(result) {
$("#output").html(result);
}
});
});
});
</script>
</head>
<body>
<button id="btn">Execute</button>
<div id="output"></div>
</body>
</html>
```
shell_exec.php:
```php
<?php
$output = shell_exec("ntpq -p");
$table = "<table><thead><tr><th>Remote</th><th>Refid</th><th>St</th><th>T</th><th>When</th><th>Poll</th><th>Reach</th><th>Delay</th><th>Offset</th><th>Jitter</th></tr></thead><tbody>";
$rows = explode("\n", $output);
foreach ($rows as $row) {
$cols = explode(" ", preg_replace("/\s+/", " ", $row));
if (count($cols) >= 10) {
$table .= "<tr>";
for ($i = 0; $i < 10; $i++) {
$table .= "<td>" . $cols[$i] . "</td>";
}
$table .= "</tr>";
}
}
$table .= "</tbody></table>";
echo $table;
?>
```
这个示例使用 jQuery 发送 AJAX 请求到 shell_exec.php 文件,并在成功时将输出转换成 HTML 表格并将其插入到页面中的 div 元素中。在 PHP 文件中,我们使用 shell_exec 函数来执行 shell 命令并获取输出。然后我们将输出拆分成行和列,并将其转换为 HTML 表格。最后,我们将表格作为响应发送回页面。
阅读全文