Wie implementiert PHP Cloud-Druck? In diesem Artikel wird hauptsächlich die PHP-Cloud-Druckklasse vorgestellt und die Erfassung, Warteschlangensortierung, Datendruck und andere Funktionen von PHP analysiert, um Netzwerkdruckdaten in Form eines vollständigen Beispiels zu realisieren. Es hat einen gewissen Referenzwert und Freunde, die es brauchen, können sich darauf beziehen Es. Ich hoffe, es hilft allen.
Die Details sind wie folgt:
Ein Projekt erfordert Hunderte von Computern mit Druckfunktionen. Ursprünglich wollte ich einen Netzwerkdrucker verwenden, aber später stellte ich fest, dass es keinen Netzwerkdrucker gab Ich habe selbst ein Druckprogramm geschrieben. Die Idee der
-Klassenimplementierung besteht darin, zuerst alle zu druckenden Daten zu sammeln und dann mit js die Fensterdruckfunktion aufzurufen. Wird derzeit im IE verwendet. Die
-Klasse stellt Druckwarteschlangenfunktionen bereit. (PS, um es ganz klar auszudrücken: Es bedeutet, die Daten einzeln zu lesen)
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<".$id." order by id asc"; $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 "<script tyle=\"text/javascript\"> window.print(); </script>"; $id = $row["id"]; $sql = "update print set state=1 where id=".$id; mysql_query($sql); echo "打印处理完成"; }else { echo $row["content"]; } } }
Die Idee ist sehr einfach: Sammeln Sie die Daten und verarbeiten Sie sie einzeln. Dies löst nicht nur das Problem des Netzwerkdrucks, sondern vermeidet auch das Problem der Warteschlange beim Netzwerkdruckprozess.
Verwandte Empfehlungen:
JavaScript-Verbindung zum Drucker, Drucken von Quittungsbeispielen zum Teilen
Wie erhält PHP die echte IP des Benutzer-Clients
Das obige ist der detaillierte Inhalt vonSo implementieren Sie Cloud-Druck mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!