本文实例讲述了PHP云打印类。分享给大家供大家参考,具体如下:

一个项目需求要几百台电脑都有打印功能,本来是想用网络打印机的,后来发现没有网络打印机,就自己动手写一个打印类算了。

类实现想法是:先把要打印的数据都收集起来,在用js调用window打印函数。目前就使用于IE。

类提供打印排队功能。(PS,说白了就是一条一条读取数据)

class Wprint{

//收集打印代码

private $data = array();

//处理打印代码

private $handle;

public function __construct()

{

header("Content-type:text/html;charsetutf-8");

$this->link(); //链接数据库

$this->collect($_POST["username"],$_POST["content"],$_POST["ip"]);

$this->handle();

}

//链接数据库

private function link()

{

$link = mysql_connect('localhost', 'root', '123456');

mysql_select_db('shen', $link);

mysql_query('SET NAMES utf8');

}

//收集打印代码

private function collect($username,$content,$ip)

{

$code["username"] = $username;

$code["content"] = $this->check($content);

$code["ip"] = $ip;

$code["state"] = 0;

$code["priority"] = 0;

array_push($this->data,$code);//数据节点入栈

}

//处理打印代码入库

private function handle()

{

foreach($this->data as $value)

{

$sql = "insert into print(username,content,ip,state,priority)

values('{$value["username"]}','{$value["content"]}',

'{$value["ip"]}','{$value["state"]}','{$value["priority"]}')";

$query = mysql_query($sql);

if($query)

{

$id = mysql_insert_id(); //获取最近insert操作得到的ID

echo "数据收集成功,正在排队打印,排队ID为".$id;

$this->num($id);

}

else

{

echo "数据收集失败,请3秒后再一次提交";

}

}

}

//检查传人数据是否为空

private function check($string)

{

if(strlen($string) == 0 || $string == " ")

{

echo "数据收集失败,打印内容为空";

exit;

}else

{

return $string;

}

}

//获取打印排队人数

private function num($id)

{

$sql = "select id from print where state=0 and id

$query = mysql_query($sql);

$num = mysql_num_rows($query);

echo ",您前面还有".$num."个人在排队";

}

//打印数据

public function Yprint()

{

$sql = "select id,content from print where state=0 order by id asc limit 1";

$query = mysql_query($sql);

$row = mysql_fetch_array($query);

if(!empty($row["content"]))

{

echo "

window.print();

";

$id = $row["id"];

$sql = "update print set state=1 where id=".$id;

mysql_query($sql);

echo "打印处理完成";

}else

{

echo $row["content"];

}

}

}

思想很简单,收集数据再一个一个处理。 这样就不仅解决了网络打印的问题,还避免了网络打印打印过程排队的问题。

希望本文所述对大家PHP程序设计有所帮助。

php打印机,PHP云打印类完整示例相关推荐

  1. php云打印类,PHP应用:PHP云打印类完整示例

    <PHP应用:PHP云打印类完整示例>要点: 本文介绍了PHP应用:PHP云打印类完整示例,希望对您有用.如果有疑问,可以联系我们. 本文实例讲述了PHP云打印类.分享给大家供大家参考,具 ...

  2. android开发监听媒体播放器,Android开发之媒体播放工具类完整示例

    本文实例讲述了Android开发之媒体播放工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.media.Media ...

  3. 打印机不打印计算机原因,打印机打印不完整?是这10个原因造成的!打印必备...

    原标题:打印机打印不完整?是这10个原因造成的!打印必备 针对日常办公中复印机打印机打印时,纸张内容打印不完整问题,小编分析了一下原因,总结如下: 原因1:软件故障引起的 打印机打印不完整多半是由软件 ...

  4. 源生php怎么打印,PHP如何实现云打印

    PHP如何实现云打印?本文主要介绍了PHP云打印类,结合完整实例形式分析了php实现网络打印数据的搜集与队列排序整理及数据打印等功能,具有一定参考借鉴价值,需要的朋友可以参考下.希望对大家有所帮助. ...

  5. Lodop云打印控件使用

    1,虚拟打印机  迅捷PDF虚拟打印机 学习云打印时可以使用虚拟打印机,省去一些麻烦 下载地址:https://www.jiakaodashi.com/dayinji/downloadsuccess- ...

  6. 运用JavaMail技术实现云打印

    在我们最近所做的M3项目里面有个算价单的功能,在算价完毕后是算价结果的展示页,页面右上角提供的有"打印"按钮,点击"打印"按钮后云打印机会将算价结果打印到A4纸 ...

  7. Caysn打印机IOS平台打印开发包、接口说明文档及示例程序_20170717

    打印机开发包,接口说明文档,打印示例程序下载地址:Caysn打印机IOS开发包.接口说明文档.打印示例程序_20170717 Framework版本要求:IOS8  Framework架构:armv7 ...

  8. 365智能云打印怎么样?365小票无线订单打印机好用吗?

    365智能云打印怎么样? 365智能云打印是有赞官方首推的订单小票打印机,荣获2016年有赞最佳硬件服务商.可以实现远程云打印,无需连接电脑,只需通过GPRS流量或者WIFI即可连接,不受地理位置和距 ...

  9. 电子面单云打印方案(PHP示例)

    物流快递.电商.ERP.仓储等都涉及发货业务都需要用到电子面单打印,市面上有各种各样的电子面单打印机,电子面单打印软件,电子面单打印工具满足了打印需求,但未能很好的满足移动端打印.这里介绍一个手机端电 ...

最新文章

  1. 想成为软件架构师,你的举止够优雅吗?
  2. 神经网络如何处理测试阶段出现的新特征?面向开放环境特征外推的图学习解决方案...
  3. 001.Linux开机启动过程
  4. windows配置Python多版本共存
  5. [CQOI2017]小Q的棋盘
  6. SpringBoot 服务监控机制,你了解多少?
  7. PBR理论基础3:基于图像的光照(上)
  8. 【现代机器人学】名词概念的理解
  9. springboot2 oauth2 jwt认证服务器和资源服务器
  10. 什么是CS、RS、ESD、EFT
  11. 智能枕头里究竟藏有什么“智能”故事?
  12. 操作MySQL出错提示“BLOB/TEXT column used in key specification without a key length”解决办法
  13. 秒赚大钱_容易记住,赚大钱
  14. 绩效考核过程中使用系统的必要性
  15. kuka机器人报电源管理报错_KUKA机器人故障信息与故障处理_中文版.pdf
  16. 新学:DES加密 小知识点(S盒,初始置换)
  17. ug用java转stp没反应_stp文件用ug怎么打不开?
  18. Unity---RPG游戏开发心得---单例模式
  19. 使用大华设备开发行AI人流量统计出现时间不正确的原因分析
  20. Mt.Gox 源代码、客户数据与员工信息遭泄露

热门文章

  1. css zIndex小知识
  2. 计算机死机后重启什么丢失,电脑死机后丢失的数据怎么恢复?
  3. 触控科技陈昊芝:捕鱼达人装机量1亿 月活跃用户3246万
  4. 微信小程序之路灯管理系统
  5. java4android视频下载_《Java4android》视频学习笔记——面向对象的应用(一)
  6. MLX90640 热红外成像仪 热源检测 电子检修 热水管探测
  7. charles 抓取微信pc客户端小程序https traffics
  8. 全球与中国先进航空航天复合材料市场现状及未来发展趋势2022-2028
  9. telematics product and company in China
  10. 乐观短视频助手怎么样 想不想让你的短视频更加的吸引人