【问题标题】:PhP shell_exec output convert to variable, and variable to imagePhP shell_exec 输出转换为变量,变量为图像
【发布时间】:2019-07-16 16:14:34
【问题描述】:

在我开始开发 VPS 控制面板的日子里,它使用 PhP 命令与 OpenVZ 内核进行通信。

我想显示 VPS 的状态,所以到目前为止它可以工作。

<?php
$VMstatus = shell_exec("sudo vzctl status 17 | cut -d ' ' -f 5");
echo $VMstatus;
?>

它打印“正在运行”。

但是,如果输出中有“跑步”一词,我想显示一张图片,但下面的代码不显示任何图片。

<?php
$VMstatus = shell_exec("sudo vzctl status 17 | cut -d ' ' -f 5");
echo $VMstatus;

if ($VMstatus == 'running') {
  echo "<img src='/assets/img/vps-running.png'>";
} else {
  echo "<img src='/assets/img/vps-down.png'>";
}
?>

可能是什么问题?

提前感谢您的帮助!
祝你有美好的一天!

【问题讨论】:

  • html 在您的浏览器中看起来如何?你在浏览器开发工具中看到任何 404 了吗?
  • 没有。图像的路径定义明确。
  • 会不会是图片损坏了?可以直接在浏览器中打开吗?
  • 另外,如果你这样做var_dump($VMstatus),你会得到什么?它可能有空格。
  • 我得到以下值:string(8) "running "

标签: php variables if-statement shell-exec openvz


【解决方案1】:

您的 shell 输出空格,您可以使用 trim 方法删除它们。 https://www.php.net/manual/en/function.trim.php

<?php
$VMstatus = trim(shell_exec("sudo vzctl status 17 | cut -d ' ' -f 5"));
echo $VMstatus;

if ($VMstatus == 'running') {
  echo "<img src='/assets/img/vps-running.png'>";
} else {
  echo "<img src='/assets/img/vps-down.png'>";
}
?>

【讨论】:

  • 非常感谢您的回答! :) 有用!高五。
猜你喜欢
  • 2017-05-24
  • 1970-01-01
  • 2021-03-16
  • 2013-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-25
相关资源
最近更新 更多