PHP如何实现云打印?本文主要介绍了PHP云打印类,结合完整实例形式分析了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如何实现云打印相关推荐

  1. 自助云打印服务,路边打字复印店的终结者?V印产品体验

    最近体验了一个产品:V印,一个云打印共享平台,感觉很有意思,让我想到了共享充电宝这样的共享产品,感觉好好做,也是一个大市场了. V印自助云打印公共平台描述:自助云打印公共平台是以互联网为基础,整合打印 ...

  2. java lodop打印_Java的云打印Lodop

    Lodop是一款专业的WEB打印控件,其设计目标是简单易用.功能足够强大,开创WEB打印开发的新局面. Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实 ...

  3. 微软云打印将直接与 OneDrive 集成;全球 90 多家组织敦促苹果放弃引入”儿童安全”功能计划……...

    NEWS 本周新闻回顾 百度发布无人车出行服务平台"萝卜快跑" 百度发布无人车出行服务平台"萝卜快跑".截至2021年上半年,百度Apollo自动驾驶出行服务已 ...

  4. 生活在别处——“Samsung Cloud Print”云打印体验

    据工信部发布的数据信息显示,截至8月底,我国移动互联网用户总数已达9.46亿户规模,其中手机上网总数超过9亿户.移动互联网用户规模的不断扩大,进一步证明拥抱移动互联网已成为不可扭转的趋势,也是各互联网 ...

  5. 如何做到免驱打印_证卡打印机云打印方案

    展会现场的参展观展人员的胸卡如何用云打印机实现智能化? 在家办公 远程云打印如何实现? 斯科德智能云证卡打印机|API接口全自动制证机|可排版云打印机-北京斯科德科技有限公司​www.fezid.co ...

  6. php 飞鹅云打印机_ThinkPHP飞鹅云打印接口

    /** * 飞鹅云打印 */ namespace Common\Util; class Feieyun { public $host; public $port; public $path; publ ...

  7. Lodop云打印控件使用

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

  8. 菜鸟云打印接入Demo

    菜鸟云打印接入Demo 0. 接入流程图 1. 连接打印客户端 首先要打开打印客户端,然后使用下面的方法,连接客户端(WebSocket协议): 地址 :  连接打印客户端 function doCo ...

  9. 快递100企业版接口(API)云打印、电子面单实现Java版

    当当当,重点来了,这是个搞好了可以让老板心甘情愿给你加薪至少10%的项目. 先看看痛点: 商城订单系统和发货系统是分离的,数据流无法打通.如果用户咨询,需要N多客服支持. 客服系统和订单系统也是分离的 ...

最新文章

  1. 详说 Cookie, LocalStorage 与 SessionStorage
  2. Messages 贪心,期望,概率,模拟(2000)
  3. 第六章:系统困境之 你的努力与时代进程相逆
  4. VSftp常规服务配置
  5. mysql运行效率最高archive_MySQL 的优化方案总结
  6. stcc52单片机时钟电路_单片机与晶振到底有什么关系?
  7. liunx查询进程下的线程
  8. linux怎么做ppapi工具,如何在Linux上构建PPAPI插件?
  9. 并联串联混合的电压和电流_初中物理归纳并联和串联的区别
  10. 联想服务器linux系统raid驱动,IntelRAID 6.12版RAID卡驱动官方正式版下载,适用于linux-驱动精灵...
  11. postgresql 数据库表隐藏列 oid、tableoid、ctid、xmin、xmax、cmin、cmax
  12. 【编程题】【Scratch三级】2019.06 幻影小猫
  13. 安装ubuntu8.04。。。。
  14. leetcode 滑动窗口
  15. 最全的项目部署+持续集成解决方案:Jenkins + git + docker
  16. matlab里H是什么,matlab 中 hObject和handles区别
  17. 看这里!java架构师教学视频全百度云
  18. OSChina 周四乱弹 —— 80后的巅峰,竟然是他!
  19. ELK—x-pack插件
  20. 基于JAVA Web的航空订票系统

热门文章

  1. Extreme Programming
  2. C++中数组定义及初始化
  3. iOS成长之button
  4. Matlab-Octave中绘制网格图和等高线:mesh 和 surf
  5. 【 Hibernate3-摘要 】 【 第1节 】:JPA常用注解
  6. C#委托和事件的应用Observer模式实例
  7. [转]跨库数据表复制
  8. SPGridview的使用
  9. jQuery插件uploadly报security Error:error #2049解决方案
  10. 虚拟机网络驱动(共享文件夹)不见了的解决方案-适用于win7~win10 and Windows Server 2008~Windows Server 2012R2