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:[email protected]

转载请注明来源: http://blog.csdn.net/attilax

原因在于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. <?php

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

4. print_r($a);

5. print_r($out);

6. print_r($status);

7. ?>

  system示例:

1. 以下为引用的内容:

2. <?php

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

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

时间: 2024-10-14 06:28:14

Atitit.执行cmd 命令行 php的相关文章

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,

java学习总结(16.05.08)在windows下使用cmd命令行对java文件进行编译和执行

windows下利用cmd命令行可以调用jdk里的javac.exe和java.exe对java文件进行编译和执行,前提是jdk已成功安装并正确配置相关环境变量(jdk安装与环境变量的配置方法:http://blog.csdn.net/qq_32099621/article/details/51339868) 下面来说一下windows下如何使用cmd命令行来编译执行java文件 首先找到需要编译和执行的java文件 这里我要编译和执行这个java文件 按组合键win+r调出"运行",

调用cmd命令行命令(借鉴)

留待以后观看 ---------------------------------------------------------------------------- public class IP_MAC_TypeHelper { /** * 控制台执行arp -a命令 * * @return * */ public static InputStream getInputStream() { Runtime rt = Runtime.getRuntime(); InputStream in =

在CMD命令行下关闭进程的命令

转载: [重要]在CMD命令行下关闭进程的命令━━━━━━━━━━━━━━━━━━━━━━━━━━ 方法一: 在"运行"中输入:ntsd -c q -pn 程序名字(在MS-Dos中的作用是一样的) 方法二: ntsd使用以下参数杀死进程.c:\>ntsd -c q -p PID 只要你能提供进程的PID,那么你就可以干掉进程. 法二: tskill命令 这个命令与tasklist命令是相对应的吧! tasklist命令是显示有哪些进程正在运行! tskill命令是关闭运行中的进

Mongodb的备份,恢复,导入与导出(cmd命令行实现)

要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下命令均在cmd命令行中输入,导出及备份未指明目录情况下,均保存在当前操作目录下. 数据导出mongoexport 1.常用导出方法:导出数据为json 假设库里有一张area 表,里面有9 条记录,我们要将它导出 >c:\mongo\bin\mongoexport -d iflashbuy_log -c area

java执行cmd命令并获取输出结果

1.java执行cmd命令并获取输出结果 1 import java.io.BufferedReader; 2 import java.io.InputStreamReader; 3 4 import org.apache.commons.lang3.text.StrBuilder; 5 6 /** 7 * 8 * @author user1 9 */ 10 public class DeleteProgram { 11 public static void run() { 12 Runtime

Phantomjs 在cmd命令行显示中文乱码

cmd命令行窗口显示中文乱码,多是因为cmd命令行窗口字符编码不匹配导致. 修改cmd窗口字符编码为UTF-8,命令行中执行:chcp 65001 切换回中文:chcp 936 一般情况下 命令行中执行:chcp 65001后

.Net执行cmd命令

using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.W

Windows 如何在cmd命令行中查看、修改、删除与添加环境变量

转自:http://www.cnblogs.com/saptechnique/archive/2013/02/17/2914222.html 首先明确一点: 所有的在cmd命令行下对环境变量的修改只对当前窗口有效,不是永久性的修改.也就是说当关闭此cmd命令行窗口后,将不再起作用.永久性修改环境变量的方法有两种:一种是直接修改注册表(此种方法目前没试验过),另一种是通过我的电脑-〉属性-〉高级,来设置系统的环境变量(查看详细). 其次,明确一下环境变量的作用. 它是操作系统用来指定运行环境的一些