免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6804 | 回复: 5
打印 上一主题 下一主题

[求助]php调用C语言程序,传递参数问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-23 13:37 |只看该作者 |倒序浏览
服务器上有个自己写的C语言程序。使用形似如下:
./cprogram argv1 argv2 argv3 argv4
其中 argv3 和argv4是文件的名称。要打开的文件和程序在同一个目录中。
在shell中执行时,没有问题。

通过php调用这个程序。
$command = "cprogram " .escapeshellcmd($inputcontent);
echo $command;
system($command)

php操作不稳定,对于有的文件名可以执行操作,有的文件名会遇到文件打不开的错误。此行相同的命令在shell中执行没有问题。

请问这种情况下的错误可能是什么原因引起的?有什么好的解决办法。
十分感谢。

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2007-06-23 14:25 |只看该作者
建议使用:http://cn.php.net/popen
我传输巨量的参数都没有问题。

论坛徽章:
0
3 [报告]
发表于 2007-06-23 16:13 |只看该作者

以解决

文件的问题。

从windows机器传上去的,自己写的替换 \n\r 为 \n 改变格式的文件无法打开。

用dos2unix处理过的,或者从其它Linux机器上传过来的都没问题。

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
4 [报告]
发表于 2007-06-23 18:18 |只看该作者
那就是你自己的程序处理的问题了。

论坛徽章:
0
5 [报告]
发表于 2007-06-24 15:00 |只看该作者
原帖由 deff 于 2007-6-23 13:37 发表
php操作不稳定,对于有的文件名可以执行操作,有的文件名会遇到文件打不开的错误。此行相同的命令在shell中执行没有问题。


怎么会不稳定?
是你的参数设置带了转义字符或者文件权限的问题吧.

论坛徽章:
0
6 [报告]
发表于 2007-06-24 15:06 |只看该作者
你需要对自己的命令进行转义
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP