您现在的位置是:群英 > 开发技术 > PHP语言
PHP可以执行系统命令吗,这些函数可以实现
Admin发表于 2022-06-02 17:20:46946 次浏览
在这篇文章中,我们将学习“PHP可以执行系统命令吗,这些函数可以实现”的相关知识,下文有详细的介绍及示例,小编觉得挺不错的,有需要的朋友可以借鉴参考,希望对大家阅读完这篇能有所获。

本篇文章给大家带来了关于PHP的相关知识,其中主要介绍了关于PHP中一些常见的命令执行函数,利用命令执行函数执行操作系统命令,下面一起来看一下,希望对大家有帮助。

推荐学习:《PHP视频教程》

PHP命令执行函数常配合代码执行漏洞使用, 利用命令执行函数执行操作系统命令, 从而发起攻击, 接下来就简单分享几个常用的PHP命令执行函数

system();

system()函数可以执行系统命令, 并将命令执行的结果直接输出到界面中, 使用时直接在参数中传入需要执行的命令即可

system('ls');

exec();

exec()函数可以执行系统命令, 但它不会直接输出结果, 而是将执行的结果保存到数组中

exec( 'ls' , $result );
参数1: 字符串类型,需要执行的系统命令
参数2: 数组类型,保存系统命令的执行结果
print_r($result); //输出执行结果

shell_exec();

shell_exec()函数可以执行系统命令, 但它不会直接输出执行的结果, 而是返回一个字符串类型的变量来存储系统命令的执行结果, 在参数中传递需要执行的系统命令即可

echo shell_exec('ls');

passthru();

passthru()函数可以执行系统命令, 并将执行结果输出到页面中, 与system()函数不同的是, 它支持二进制的数据, 更多的用于文件, 图片等操作, 使用时直接在参数中传递字符串类型的系统命令即可

passthru('ls');

popen();

popen()函数可以执行系统命令, 但不会输出执行的结果, 而是返回一个资源类型的变量用来存储系统命令的执行结果, 需要配合fread()函数来读取命令的执行结果

$result = popen( 'ls' , 'r' );
参数1:字符串类型,需要执行的命令
参数2:字符串类型,模式
返回值:资源类型,命令执行的结果
echo fread( $result , 100 );
参数1:资源类型,需要读取的文件指针
参数2:int类型,读取n个字节
返回值:字符串类型,读取的文件内容

echo fread(popen('ls','r'),100);

反引号``

反引号可以执行系统命令, 但它不会输出结果, 而是返回一个字符串类型的变量, 用来存储系统命令的执行结果, 可单独使用, 也可配合其他命令执行函数使用来绕过参数中的过滤条件

echo `ls`;



以上就是关于PHP可以执行系统命令吗,这些函数可以实现的介绍,本文内容仅供参考,有需要的朋友可以借鉴了解看看,希望对大家学习或工作,想要了解更多欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: php
相关信息推荐
2022-08-04 17:46:35 
摘要:在bootstrap中,提供了很多线程的样式组件,这些样式就是less编写的,使用bootstrap不需要会less,less包含一套自定义的语法及一个解析器,生成对应的css文件。
2022-07-27 17:56:22 
摘要:这篇文章主要为大家详细介绍了AJAX实现指定部分页面刷新效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-04-27 16:29:35 
摘要:获取文件类型的方法:1、使用“$_FILES['uploadfile']['type']”语句;2、使用“finfo_file(finfo_open(FILEINFO_MIME),文件路径)”语句;3、通过读取文件头六个字节来进行判断。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部