php 用cmd命令,Atitit.执行cmd命令行php

Atitit.执行cmd 命令行 php

1. 执行cmd 命令行,调用系统命令的基础 1

1.1. 实际执行模式 1

1.2. 空格的问题 1

1.3. 中文路径的问题,程序文件读取编码设置 1

1.4. 回显乱码 2

2. exec,system等函数调用系统命令 2

3. php.ini,关掉安全模式safe_mode = off 3

4. 参考 3

1. 执行cmd 命令行,调用系统命令的基础

1.1. 实际执行模式

Processmonitor 检查。得到。。

PID: 115372, Command line: cmd.exe /c "D:\workspace 绌烘?\AtiBrow\exp_receipt.bat"

1.2. 空格的问题

双引号解决

1.3. 中文路径的问题,程序文件读取编码设置

Php.ini中的default_charset = "utf-8" 只是设置post,get的编码,不能设置php文件的读取编码。。最好是注释掉此参数,让他根据文件本身的编码自动判断,否则输出的php结果都 header('Content-Type:text/html;charset=utf8

作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com

原因在于php文件本身是用系统字符集来编码的,中文的windows XP都是用GB2312,每一个文件头部都有字段指示该文件是用何种方式编码的

用javac编译java源文件时,编译器默认用系统编码读源文件里的内容。如果源文件不是用系统编码来保存的,可以用命令javac -encoding指定具体的编码

淋巴,只能不个php文件的编码设置成gbk。。才ok。。

1.4. 回显乱码

header('Content-Type:text/html;charset=gbk');

2. exec,system等函数调用系统命令

这二个都是用来调用系统shell命令,

不同点:

exec可以把执行的结果全部返回到$output函数里(数组),$status是执行的状态 0为成功 1为失败

systerm不需要提供$output函数,他是直接把结果返回出来,同样$return_var是执行的状态码 0为成功 1为失败

exec示例:

1. 以下为引用的内容:

2.

3. $a = exec("dir",$out,$status);

4. print_r($a);

5. print_r($out);

6. print_r($status);

7. ?>

system示例:

1. 以下为引用的内容:

2.

3. $a = system("dir",$out);

4. print_r($a);

5. print_r($out);

6. ?>

3. php.ini,关掉安全模式safe_mode = off

首先,打开php.ini,关掉安全模式safe_mode = off,然后在看看 禁用函数列表 disable_functions = proc_open, popen, exec, system, shell_exec ,把exec去掉。

4. 参考

php中使用exec,system等函数调用系统命令.htm

Apache以及PHP的默认编码问题解决(详解)_php追逐_新浪博客.htm

版权声明:本文为博主原创文章,未经博主允许不得转载。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值