问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP执行系统命令的有几个常用的函数

发布网友 发布时间:2022-07-14 15:20

我来回答

2个回答

热心网友 时间:2023-09-28 17:35

CPHP执行系统命令的有几个常用的函数,如有:system函数、exec函数、popen函数,passthru,shell_exec函数他们都可以执行系统命令,不过前提时必须系统给了权限了哦。system函数说明:执行外部程序并显示输出资料。语法:string system(string command, int [return_var]);返回值: 字符串详细介绍:本函数就像是 C 语中的函数 system(),用来执行指令,并输出结果,若是 return_var 参数存在,则执行 command 之后的状态会填入 return_var 中,同样值得注意的是若需要处理用户输入的资料,而又要防止用户耍花招破解系统,则可以使用 EscapeShellCmd(),若 PHP 以模块式的执行,本函数会在每一行输出后自动更新 Web 服务器的输出缓冲暂存区,若需要完整的返回字符串,且不想经过不必要的其它中间的输出界面,可以使用 PassThru()。实例代码:echo "Last line of the output: " . $last_line; echo "Return value: " . $retval; ?> exec函数说明:执行外部程序。语法:string exec(string command, string [array], int [return_var]);返回值: 字符串详细介绍:本函数执行输入 command 的外部程序或外部指令。它的返回字符串只是外部程序执行后返回的最后一行;若需要完整的返回字符串,可以使用 PassThru() 这个函数。要是参数 array 存在,command 会将 array 加到参数中执行,若不欲 array 被处理,可以在执行 exec() 之前呼叫 unset()。若是 return_var 跟 array 二个参数都存在,则执行 command 之后的状态会填入 return_var 中。值得注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用 EscapeShellCmd()。实例代码:< ?php echo exec("whoami"); ?> popen函数说明:打开文件。语法:int popen(string command, string mode);返回值: 整数详细介绍:本函数执行指令开档,而该文件是用管道方式处理的文件。用本函数打开的文件只能是单向的 (只能读或只能写),而且一定要用 pclose() 关闭。在文件操作上可使用 fgets()、fgetss() 与 fputs()。若是开档发生错误,返回 false 值。实例代码:< ? $fp = popen( "/bin/ls", "r" ); ?> 使用函数passthru执行系统外部命令原型:function passthru(string $command,int[optional] $return_value)知识点:passthru与system的区别,passthru直接将结果输出到游览器,不返回任何值,且其可以输出二进制,比如图像数据。反撇号`(和~在同一个键)执行系统外部命令,代码如下:echo `dir`;知识点:在使用这种方法执行系统外部命令时,你要确保shell_exec函数可用,否则是无法使用这种反撇号执行系统外部命令的。安全性说明:当你使用这些函数执行命令时,如果是根据用户提交数据作为执行命令的话,你需要考虑系统安全性,可以使用escapeshellcmd()和escapeshellarg()函数阻止用户恶意在系统上执行命令,escapeshellcmd()针对的是执行的系统命令,而escapeshellarg()针对的是执行系统命令的参数。这两个参数有点类似addslashes()的功能。现在来看一个自定的执行系统命令的函数,代码如下:function execute($cfe) { $res = ”; if ($cfe) { if(function_exists(‘system’)) { @ob_start(); @system($cfe); $res = @ob_get_contents(); @ob_end_clean(); } elseif(function_exists(‘passthru’)) { @ob_start(); @passthru($cfe); $res = @ob_get_contents(); @ob_end_clean(); } elseif(function_exists(‘shell_exec’)) { $res = @shell_exec($cfe); } elseif(function_exists(‘exec’)) { @exec($cfe,$res); $res = join(“n”,$res); } elseif(@is_resource($f = @popen($cfe,”r”))) { $res = ”; while(!@feof($f)) { $res .= @fread($f,1024); } @pclose($f); } } return $res; }

热心网友 时间:2023-09-28 17:35

您好,请问您是想知道PHP执行系统命令的有几个常用的函数吗?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
你家的水龙头起泡器该换了 如何打开水龙头起泡器 网上卖门锁,安装如何解决 广告装潢需要哪些设备 广告制作需要哪些材料 开锦旗招牌广告制做店须要什么 广告店需要哪些耗材 长安之星发动机水泵要坏之前声音怎么判断 家有孕妇咋调理:280天贴心呵护生健康宝贝图书信息 哪些是适合孕妇看的书 环境污染问题:耐火材料结合剂有污染吗?可以直接倒进河里吗? 耐火材料厂中常用的结合剂有哪些,各用在哪种耐火材料生产中?- 问一问 耐火材料厂都用到什么原料 耐火材料结合剂,常见的有哪些 宿鸟幽鸣是成语吗? 宿鸟什么什么四字词语? KW;W注册过商标吗?还有哪些分类可以注册? KID&#39;S WORLD;W注册过商标吗?还有哪些分类可以注册? w开头,logo前面有个五角星的品牌 童年的回忆阅读 《回忆童年走亲戚》阅读短文中短文流露出作者怎样的思想感情呢请简要说明? 渔夫阅读中的《童年的回忆》的答案六年级 童年的回忆阅读题答案文章开头是我的童年是在温州度过的……… 童年回忆的 阅读答案 作者 高子权 阅读题《童年的记忆》短文表达了作者怎样的思想感情 这是童年的回忆的阅读理解 童年的回忆阅读答案 其中的Vt 0.24L是什么意思 我买了一件纯棉的黑白搭配的运动装,请问怎么洗才不会染色? 一件衣服黑白两色,洗的时候怎样能让它不掉色 吉林松原江南环球国际怎么走 达州环球国际影城坐几路公交车 从环球国际到曹家王平小区怎么走 从临沂环球国际到蒙阴椿树沟怎么走 苏州北站到环球国际酒店多远 关于混沌武士的问题(热血的进) 玉鼎公园离环球国际有多远? 有谁知道&lt;&lt;混沌武士&gt;&gt;的资料??? 混沌武士删减了什么 汉街地铁口c到万达汉街环球国际中心怎么走 求《混沌武士》每一集的标题 《混沌武士》第九集没看明白 从武汉到荆门环球国际大酒店有多远 看过 混沌武士 的进来 现在的离婚证是什么颜色的? windows7如何破解浩辰cad 初一下册 数学练习题 数学初一下册练习题 作文晒出我的自由650字 半命题作文什么给我带来的欢乐420字