[求助]PHP执行系统命令失败

WBOY
发布: 2016-06-23 14:05:07
原创
942 人浏览过

功能:通过外部程序转换图片格式(几种写法都不行,通过shell可以成功,但通过PHP返回1,说明写法有误)

exec("c:/Program Files/IrfanView/i_view32.exe c:/Program Files/IrfanView/03280009.sff /convert=c:/Program Files/IrfanView/4.tif", $result, $status); echo $status;
登录后复制


exec("c://Program Files//IrfanView//i_view32.exe c://Program Files//IrfanView//03280009.sff /convert=c://Program Files//IrfanView//4.tif", $result, $status); echo $status;
登录后复制


exec("c:\Program Files\IrfanView\i_view32.exe c:\Program Files\IrfanView\03280009.sff /convert=c:\Program Files\IrfanView\4.tif", $result, $status); echo $status;
登录后复制


exec("c:\\Program Files\\IrfanView\\i_view32.exe c:\\Program Files\\IrfanView\\03280009.sff /convert=c:\\Program Files\\IrfanView\\4.tif", $result, $status); echo $status;
登录后复制


PS:未开启安全模式


回复讨论(解决方案)

你这个 i_view32.exe 在系统中运行时又界面吗?

你这个 i_view32.exe 在系统中运行时又界面吗?
直接运行有界面,转格式的话只是命令调用应该不会出现界面。

PS:IrfanView是个功能比较强大的免费的看图软件,之前JAVA版本的程序已经可以执行,换到PHP了就不行了。

只是命令调用应该不会出现界面 ???
不能是应该!
你在命令窗口中执行一下,如果没问题就贴出命令来

表达错误,呵呵,确定没界面、没弹窗:
C:\Program Files\IrfanView>i_view32.exe c:\Program Files\IrfanView\03280009.sff /convert=c:\Program Files\IrfanView\4.tif

给 C:\Program Files\IrfanView>i_view32.exe 赋予一般用户执行权

"c:/Program  Files/IrfanView/i_view32.exe

你这样写会把红色部分当成参数的(相当于一个错误的DOS命令),路径有空格要用引号

给 C:\Program Files\IrfanView>i_view32.exe 赋予一般用户执行权
之前有看到过这个建议,但右键属性没看到这个授权,请问如何操作呢?

"c:/Program Files/IrfanView/i_view32.exe

你这样写会把红色部分当成参数的(相当于一个错误的DOS命令),路径有空格要用引号
确实有空格的问题,不过我把路径调整了之后执行的时候就一直等待,貌似卡死了,是不是还是要授权啊。

成功了:
1、路径不能带空格,如带空格需特殊处理;
2、正确写法:exec("c:\\IrfanView\\i_view32.exe c:\\IrfanView\\03280009.sff /convert=c:\\IrfanView\\4.tif", $result, $status);

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板