【问题标题】:Getting WiFi SSID to display in php (need GREP help)获取 WiFi SSID 以在 php 中显示(需要 GREP 帮助)
【发布时间】:2015-02-18 19:48:29
【问题描述】:

我需要扫描 SSID 并在 localhost 环境中运行的 php 页面中显示结果。我可以让这个脚本运行并返回一个值:

    $command= "/sbin/iwlist wlan0 scan | grep 'ESSID'  ";
    $localSSID = exec ($command);
    echo $localSSID;

问题在于它只返回最后一个单元格/SSID 的值。例如,当我在终端中扫描时,我得到 ​​p>

    ESSID:"SSID name X"    
    ESSID:"SSID name Y"    
    ESSID:"SSID name Z"

只显示最后一个。

理想情况下,我只需要在选择框中显示每个选项的名称作为供用户选择的选项。

谁有一些疯狂的 grep 正则表达式技巧可以提供任何建议?我将不胜感激。

-GWC

【问题讨论】:

    标签: php regex grep wifi raspbian


    【解决方案1】:

    查看文档。 Exec 只返回最后一行。使用输出参数。

    $output = array();
    exec($command, $output);
    

    现在,$output 为每一行输出包含一个字符串。

    【讨论】:

    • 我试过了,但我也只得到了最后一行。我还尝试了系统和 passthru,它可以获取所有数据,但我无法用它做任何事情
    • $output 不可能只有最后一行。它包含所有输出行。现在,如果你输入了 $output=exec($command,$output);,这不是我上面的,那么 $output 将只有最后一行输出。
    • 请原谅我的无知,感谢您的帮助。我对 PHP 比较陌生,但对 ASP 非常有经验,所以我不是一个完全的菜鸟。我在 exec 和 $output 上查找了引用,但似乎无法弄清楚。这是我的代码` $command= "/sbin/iwlist wlan0 scan | grep 'ESSID' "; $输出 = 数组();执行($命令,$输出); echo $output;` 但我得到的只是“数组”(无引号)。
    • $output 在一个值数组中,而不是一个值。您可以使用 for 循环或 foreach 循环遍历它。您可以使用以下方式转储它: print_r($output);
    • 好吧,也许我是个菜鸟。我应该想到的。再次感谢
    猜你喜欢
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-28
    • 2014-10-06
    相关资源
    最近更新 更多