php脚本的书写相对其他的语言,比如java,c#等语言来说是简单很多的,主要因为它是弱类型语言,相对来说比较随意,发挥空间较大。

基本的语句结构都是那些一样的,顺序结构,选择结构和循环结构…

书写php脚本只要有适宜的编辑器即可,新手来说用nodpad++,editplus等编辑器就好。

如果想要运行php脚本的话就要搭配相应的运行环境才可,最常用的wamp或者lamp。

不会配置环境的可以去OA上面的博客观看教学。

一. 用PHP脚本可以做什么:

大家都知道,Linux是用指令来操作的系统,那么,我们就可以用PHP脚本来帮助我们减少重复指令的输入。比如,我们要git clone 下来一个文件到我们自己的项目文件所在目录并进行一些操作,我们可以一行一行的输入指令去操作。

而且大家都知道,这个操作是需要非常非常多重复的操作的,这样我们就可以把这些代码写到脚本里面,直接执行脚本文件就可以做到了。

二. 写脚本用什么方法:

比如,我们在一个test.php文件中写shell脚本,我们为了给用户的更好的体验,前面可以加上

fwrite(STDOUT, '请输入您的git地址:');

用户输入

我们同样可以获取到用户输入的git地址的文件名称,方便对我们后续的操作,如:

fwrite(STDOUT, '请输入您的git地址:');

$git_ad = fgets(STDIN);

$shell0 = "git clone {$git_ad}";

$result = substr($git_ad, strripos($git_ad, "/") + 1);

$newstr = substr($result, 0, strlen($result) - 5);

exec($shell0, $results, $status);

上方代码,实现了一个将用户输入的git地址,clone到本地的操作,并将git地址的最后的文件名称拿到。具体效果:

PHP给我们提供了一些方法来执行shell指令,这里我们用exec($shell, $results, $status)方法,这个方法可以返回一个status状态,来判断是否执行成功。例如:

$shell = 'git clone git@gitee.com:redunicorn/symfony.git && cd symfony && rm -rf .git && mv -f .gitignore.word .gitignore && mv -f composer.work.json composer.json';

exec($shell, $results, $status);  if (!$status) {      echo "命令执行成功"; }else{ echo "命令执行失败";  }

这几行代码做到了clone symfony.git 并且对symfony这个文件做了一些操作。

如果我们以后还需要clone symfony 则就可以直接调用脚本了。

注意事项:这里有一个需要注意的事情,当你在shell指令中使用变量名而且还执行了多操作就需要在特殊符号前面加上 \ 符号,要不指令会被识别不出来。例如:

exec("cd {$newstr} \; && composer install ", $results, $status);

就不能使用:

exec("cd {$newstr} ; && composer install ", $results, $status);

三. 如何调用PHP脚本:

将写好的PHP脚本放到自己的项目存放目录里,然后执行 php 脚本名 ,即可运行脚本。例如:

在这个目录下,我们的脚本文件就是test.php文件,我们在此目录执行php test.php就可以运行此脚本文件。效果:

运行成功

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/25255.html

微信打赏

支付宝打赏

感谢您对作者Miya的打赏,我们会更加努力!    如果您想成为作者,请点我

php脚本是什么,PHP脚本的编写相关推荐

  1. nmap脚本(nse)原理和编写

    Nmap脚本引擎原理 一.NSE介绍 虽然Nmap内嵌的服务于版本探测已足够强大,但是在某些情况下我们需要多伦次的交互才能够探测到服务器的信息,这时候就需要自己编写NSE插件实现这个功能.NSE插件能 ...

  2. linux编写脚本读取txt文件,用bash脚本或者批处理 bat脚本 读取一个目录下.txt文件第一行内容存放到新文件a.txt...

    起因:我把cmd 控制台说成了dos! 发展:人类生气了,跟我扯了一堆 dos 还有什么玩意儿,在我第二次还说那个是dos界面以后:( 后续:人类要我写 批处理bat 还有linux bash 脚本去 ...

  3. (原)War3 脚本分析5-基础脚本资源

    众所周知War3编辑器非常强大,这种强大不仅是因为其拥有诸如地形编辑器.开关编辑器.声音编辑器.物体编辑器.战役编辑器.AI编辑器.物体管理器.输入管理器等非常全面且易于使用的功能,更为重要的是在其基 ...

  4. python自动化办公脚本下载-python自动化脚本

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_stat ...

  5. 关于在hue当中调shell脚本的操作(这里的shell 脚本是在shell脚本当中嵌套shell脚本的操作使用source的方式)...

    这两天在做数据的导入操作,为了方便数据的导入我们采用sqoop的方式将数据导入.但是在表很多的情况下,在hue当中部署工作流就是一件很麻烦的事情, 然后想着能不能通过shell脚本调shell脚本的方 ...

  6. 马哥linux脚本,linux学习 – shell脚本

    shell是命令和硬件之间的桥梁 shell的工作方式分为两种:交互式.批处置 交互式:用户一次输入一条命令,shell翻译并执行一条 批处理:用户将多条命令构成一个shell脚本,执行脚本时,she ...

  7. bat脚本交互输入_Shell脚本的应用(一)

    会不会有那么一天,生活可以简单到每天清早踏上一辆载着鲜花的脚踏车,微笑着穿过窄窄的街巷,为爱花的人送去芬芳,为需要知识的你送去帮助. 简介 随着Linux系统在企业中的应用越来越多,服务器的自动化管理 ...

  8. ssas脚本组织程序_脚本调试编辑

    Script Debugger Mac是一款好用的脚本调试编辑器,它是一个完全集中在AppleScript上的集成开发环境.帮助用户更轻松更快捷编译AppleScript的工具,默认提供了AppleS ...

  9. netapp脚本保存日志_Shell脚本实战:日志关键字监控+自动告警

    原文转载于:https://os.51cto.com/art/202004/613630.htm 主要用于Linux服务器监控程序日志,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人. ...

  10. html怎么shell脚本语言,简单shell脚本例子

    为什么要使用Shell脚本 使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象.缺点是:它们的效率通常不如编译型语言.不过权衡之下,通常使用脚本编程还是值 ...

最新文章

  1. TIDB,面向未来的数据库到底是什么?
  2. Nginx前端设置反向代理,后端Apache如何获取访客的真实IP,结合PHP。
  3. python自然语言处理书籍推荐-自然语言处理有哪些好的入门书籍推荐?入门首先应该有哪些实践?...
  4. Strut2和FreeMarker整合时的一些问题
  5. shell脚本每日一练(二)
  6. Silverlight初级教程-库
  7. tomcat 拦截指定url_一口气说出 过滤器 和 拦截器 6个区别,别再傻傻分不清了
  8. LA 4728 (旋转卡壳) Squares
  9. c++11 future promise
  10. 数据库修改后 前台同步更新 php,PHP实现前台页面与MySQL的数据绑定、同步更新...
  11. matlab在振动信号处理中的应用_激光测振仪在超声变幅杆振动测试中的应用
  12. java debug try catch 打印发生错误的代码的详细信息 代码行数
  13. scala和java集合的区别_Scala中Array和List的区别
  14. 【Linux实验】Linux操作基础
  15. MySQL数据库的基本管理操作
  16. excel快速填充_Excel教程:24秒,提取excel工作簿中300张图片
  17. 计算机rom和硬盘,都是存储器,但RAM、ROM、闪存、硬盘怎么分?
  18. 【C语言/入门游戏】猜数字,关机指令游戏及go to语句
  19. 加密硬件货币钱包-市场现状及未来发展趋势
  20. 【编译原理】分析PL0编译器

热门文章

  1. 龙果开源支付系统 架构全新升级
  2. 香橙派上手记录(orangepi pc)
  3. 怎样用Java生成随机数?
  4. 微信小程序怎么字体鼠标放上去变颜色?_【干货】CDR快捷键常识小技巧大全,记得收藏!...
  5. Matlab 官网培训 - 大型项目-风力发电机数据模型构建-Catching the Wind
  6. CentOS 7 - Securing OpenSSH(一)
  7. 阿铭Linux_传统IDC 部署网站学习笔记20190121
  8. 软件工程学习笔记—————传统模型、面向对象模型的比较
  9. PDF加密如何解除?教你2个PDF解密方法
  10. Word批量转PDF/图片