分享:在LAMP环境下使用网络POS打印机

公司工程师遇到个问题,要在局域网环境使用网络POS打印机。以前没有这样用过,便找了台SPRNT S76打印机开始测试。来不及仔细看打印机的开发说明,加上问对方技术支持也是半懂不懂的,只好自己测试。可惜了半卷纸。。。。。。

代码如下:

<?php
$fp = fsockopen("172.16.12.10", 9100, $errno, $errstr, 10);
  if (!$fp) {
     echo "$errstr ($errno)<br />/n";  
  }
  else {
    $out="/n      美亚大酒店西餐厅/n"; 
    $out.="======================================/n";  
    fwrite($fp,$out);
    MIEA_delay(500);
    for ($i=1;$i<=20;$i++){  //测试20行数据
      if ($i<10) $tmp="0".$i; else $tmp=$i;
      $out=$tmp." 123456789a123456789b123456789c/n";
      fwrite($fp,$out);
      MIEA_delay(100);
    }
    //连续打印$k行空格
    $k=3;
    for($i=0;$i<$k;$i++){
      fwrite($fp,chr(13).chr(10));
      MIEA_delay(100);
    }
    //最后五行用于挤出缓冲区内容
    $out="/n/n/n/n/n";
    fwrite($fp,$out);
    MIEA_delay(100);

    //切纸
    $out=chr(29)."V1";
    fwrite($fp,$out);    
  }
fclose($fp); 

 

//-----------------------------
//2011/06/29 刘武
//毫秒级延时函数 0<dblLong<1000
function MIEA_delay($dblLong){
  if ($dblLong>=1000)$dblLong=999;
  $startTime=floor(microtime()*1000);
  $endTime=$startTime+$dblLong;
  if ($endTime>999)$endTime=$endTime-999;
  while (floor(microtime()*1000)!=$endTime){
    //echo floor(microtime()*1000)."<br>";
  }
}
//=============================

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值