可用的打印机到 selectbox、lpstat、console、apache、php、html

可用的打印机到 selectbox、lpstat、console、apache、php、html

我在本地网络(无头 Mac-Mini)中有一个网络服务器,运行基于网络的 POS 系统。我想为商店的常规员工提供一种可能性,在缺纸或其他打印问题的情况下,手动将热敏收据打印机从收银员 1 切换到收银员 2,这样,客户就可以带着收据离开商店,而无需等待更换纸卷(最多 5 分钟)或网络管理员到达(最多 5 小时):-) 当前解决方案是一个选择框,其生成方式如下(简化以便于理解):

<?php

$printers = exec("lpstat -a | cut -f1 -d ' ' >printer.txt");
$p = file('printer.txt');

$tmp = '<select name="printer" autocomplete="off">';
$tmp .= '<option> --- select printer --- </option>';
foreach($p AS $printer) $tmp .= '<option value="' . $printer . '">' . $printer . '</option>';
$tmp .= '</select>';

echo $tmp;

?>

我的问题是,如何才能抓取列出的打印机并构建选择框,而无需绕道编写一个文件,然后由 php 读取。我的意思是,直接在一行中使用控制台输出(通过 exec),例如通过添加分隔符 ; ,结果可以在这样的变量中使用(不会起作用,只是为了解释):

<?php

$printers = exec("lpstat -a | cut -f1 -d ' ' **another option to add the delimiter**");
$p_ary = explode(';', $printers);

... build the selectbox ...

?>

该变量$printers应类似于Epson_1;Epson_2;Epson_1_cashier2...,必须由 exec 在一行中提供。

谢谢你的想法。

相关内容