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-03 22:25:13

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,

C#中隐式运行CMD命令行窗口的方法

using System; using System.Diagnostics; namespace Business { /// <summary> /// Command 的摘要说明. /// </summary> public class Command { private Process proc = null; /// <summary> /// 构造方法 /// </summary> public Command() { proc = new Pr

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

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

使用cmd命令行方式登录ftp上传下载数据

部分用户在使用ftp工具登录空间上传下载过程中经常会遇到各种问题,如主动模式,被动模式,以及其他导致无法登陆ftp .上传数据.下载数据的问题,这时候不妨使用一下命令行方式.命令行下可以避免很多由于ftp工具配置导致的问题,而且这种方式下下载数据的速率明显比使用ftp工具更快.下面就来看一下如何使用ftp 命令进行简单的上传下载数据.1.登录ftp在“开始”->”运行”中输入“cmd”,进入cmd命令行模式,接下来输入:ftp 118.193.22.151输入自己的网站ip地址,接下来会提示输入

Node.js(window)基础(1)——用cmd命令行访问某一文件夹下的js文件

一.安装,从官网上下载安装,安装基本一直点击下一步就行.注意:node.js基于Python的,安装node.js之前电脑上要安装Python,最好是Python2.7或2.6. 二.cmd进入命令行,输入node -v,如果显示node.js版本信息,就是安装成功. 参考http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143450141843488beddae2a1044c

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

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

Windows下的cmd命令行中设置环境编码

我们都知道,Windows下的cmd命令行默认编码是Windows系统的编码,就是ANSI编码或者说是GBK编码的,这样我们编写的很多应用比如php编写utf-8编码的应用在命令行下面运行时都会出现乱码的情况,原因就是因为运行环境的编码使用自己的编码去解析程序运行结果,而程序本身返回编码和解析编码不一致,最后导致乱码情况的发生. 遇到这种情况,我们可以通过设置cmd命令行环境的编码使编码保持统一来解决,方法如下: 在命令行中,有个命令是chcp,这个命令是用来显示当前活动代码页编号的,也可以理解

cmd命令行窗口使用其它字体

Cmd命令行模式修改字体: 1>在dos窗口右键[属性]字体.颜色可以设置字体大小与颜色: 2>默认字体只支持点阵字体和新宋体,点阵字体最大只能10*20:新宋体可以设置字号: 使用其他字体:(注意:通过修改注册表实现,请谨慎使用,运行regedit打开注册表) 1>打开项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont 可以发现里面有ab(字符串值),默认是有一个0

PowerShell运行cmd命令

1.使用.exe扩展名 2.使用 cmd /c "" 3.在 PowerShell v3 中有另一种选择来解决这个问题,只需在命令行的任意位置添加 –% 序列(两个短划线和一个百分号)PowerShell 就不会再去解析剩下的部分 From:http://www.pstips.net/using-windows-powershell-to-run-old-command-line-tools-and-their-weirdest-parameters.html PowerShell运行