php外部执行命令函数用法小结


Posted in PHP onOctober 11, 2016

本文实例讲述了php外部执行命令函数用法。分享给大家供大家参考,具体如下:

首先先要自我检讨一下的,学习和使用php已经前前后后一年多了,研究和使用Linux系统也差不多一年了,我居然不知道php这种解释型语言可以直接调用操作命令去操纵系统...
先总结下Linux的操作,常用的cd、cp、mv、rm之类的就不提了,值得总结的第一点是普通用户在提取root权限的时候需要在命令前加上sudo,然后在vi编辑器中输出行号的命令是 :set nu。
php的内置函数exec,system都可以调用系统命令(shell命令),但是,要想使用这二个函数php.ini中的安全模式必须关闭,要不然为了安全起见php是不让调用系统命令的。

先看一下php手册对这二个函数的解释:

1. exec --- 执行外部程式

语法 : string exec ( string command [, array &output [, int &return_var]] )

说明 :

exec( )执行给予的命令command,不过它并不会输出任何东西,它简单的从命令的结果中传回最后一行,如果你需要去执行一个命令,并且从命令去取得所有资料时,可以使用passthru( )这个函数。

如果有给予参数array,则指定的数组将会被命令所输出的每一行填满,注意:如果数组先前已经包含了一些元素的话,exec( )将会把它附加在数组的后面,如果你不想要此函数附加元素的话,你可以在传递此数组给exec( )之前呼叫unset( )。

2. system --- 执行外部程式并且显示输出

语法 : string system ( string command [, int &return_var] )

说明 :

system( )执行给予的命令command,并且输出结果。如果有给予参数return_var,则执行命令的状态码将会写到这个变量。

如果PHP是运作成伺服器模组,在输出每一行后,system( )会试着自动地清除web伺服器的输出缓冲。成功则传回命令的最后一行,失败则传回false。

如果你需要去执行一个命令,并且从命令去取得所有资料时,可以使用passthru( )这个函数。

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

不同点:

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

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

exec示例:

以下为引用的内容:

<?php
  $a = exec("dir",$out,$status);
  print_r($a);
  print_r($out);
  print_r($status);
?>

system示例:

以下为引用的内容:

<?php
  $a = system("dir",$out);
  print_r($a);
  print_r($out);
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
创建数据库php代码 用PHP写出自己的BLOG系统
Apr 12 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
Mar 05 PHP
php代码中使用换行及(\n或\r\n和br)的应用
Feb 02 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
php根据操作系统转换文件名大小写的方法
Feb 24 PHP
php判断文件上传类型及过滤不安全数据的方法
Dec 17 PHP
php绘制一条弧线的方法
Jan 24 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
实例讲解通过​PHP创建数据库
Jan 20 PHP
PHP PDOStatement::fetchObject讲解
Feb 01 PHP
php实现JWT验证的实例教程
Nov 26 PHP
php字符串操作常见问题小结
Oct 11 #PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 #PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 #PHP
php 获取文件行数的方法总结
Oct 11 #PHP
PHP中文字符串截断无乱码解决方法
Oct 10 #PHP
PHP获取用户客户端真实IP的解决方案
Oct 10 #PHP
php表单加入Token防止重复提交的方法分析
Oct 10 #PHP
You might like
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
Angular整合zTree的示例代码
2018/01/24 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
Python进程间通信之共享内存详解
2017/10/30 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
党员民主评议自我评价
2014/10/20 职场文书
2016自主招生教师推荐信范文
2015/03/23 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
2021/08/23 HTML / CSS
关于mysql中string和number的转换问题
2022/06/14 MySQL