Heim > Artikel > Backend-Entwicklung > PHP implementiert die Cloud-Printing-Klasse
Dieser Artikel stellt hauptsächlich die PHP-Cloud-Druckklasse vor und analysiert die Sammlung, Warteschlangensortierung und den Datendruck von Netzwerkdruckdaten in PHP. Es hat einen gewissen Referenzwert >
Ein Projekt erfordert Hunderte von Computern, um über Druckfunktionen zu verfügen. Ursprünglich wollte ich einen Netzwerkdrucker verwenden, aber später stellte ich fest, dass es keinen Netzwerkdrucker gab, also habe ich selbst einen Druckkurs geschrieben. Die Idee bei der Implementierung der Klasseclass 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 eins. Dies löst nicht nur das Problem des Netzwerkdrucks, sondern vermeidet auch das Problem der Warteschlange beim Netzwerkdruckprozess. Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird. Verwandte Empfehlungen:
PHP Umeng Message Push Category
PHP-Filtermethode zum Finden von Primzahlen
Das obige ist der detaillierte Inhalt vonPHP implementiert die Cloud-Printing-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!