电脑安全

您当前的位置:主页 > 电脑安全 >

将PHP作为Shell脚本语言使用-网络编程

来源:[db:来源]标题:   脚本    编辑:电脑技术全能网 时间:2019-09-18 16:49

原标题:将PHP作为Shell脚本语言使用-网络编程
   咱们都晓得,PHP是一种十分好的静态网页开辟言语(速率飞速,开辟周期短……)。然而只要很多数的人认识到PHP也能够很好的作为编写Shell剧本的言语,当PHP作为编写Shell剧本的言语时,他并没有Perl或许Bash那末强盛,然而他却有着很好的上风,不凡是关于我这类熟习PHP然而不怎样熟习Perl的人。  要应用PHP作为Shell剧本言语,你必需将PHP作为二进制的CGI编译,而不是Apache形式;编译成为二进制CGI形式运转的PHP有一些保险性的成绩,对于处理的方式能够拜见PHP手册(http://www.php.net)。  一开端你能够会关于编写Shell剧本觉得不顺应,然而会缓缓好起来的:将PHP作为个别的静态网页编写言语和作为Shell剧本言语的独一差别就在于一个Shell剧本须要在第一行性命说明本剧本的顺序门路:  #!/usr/local/bin/php -q  咱们在PHP履行文件前面参加了参数“-1”,如许子PHP就不会输入HTTPHeader(如果仍须要作为Web的静态网页,那末你须要本人应用header函数输入HTTPHeader)。固然,在Shell剧本的外面你仍是须要应用PHP的开端和停止标志:  <?php 代码 ?>  当初让咱们看一个例子,以便于更好的懂得用PHP作为Shell剧本言语的应用:  #!/usr/local/bin/php -q  <?php  print("Hello, world!n");  ?>  下面这个顺序会简略的输入“Hello, world!”到表现器上。1、通报Shell剧本运转参数给PHP:  作为一个Shell剧本,常常会在运转顺序时间参加一些参数,PHP作为Shell剧本时有一个内嵌的数组“$argv”,应用“$argv”数组能够很便利的读取Shell剧本运转时间的参数(“$argv[1]”对应的是第一个参数,“$argv[2]”对应的是第二个参数,依此类推)。比方上面这个顺序:  #!/usr/local/bin/php -q  <?php  $first_name = $argv[1];  $last_name = $argv[2];  printf("Hello, %s %s! How are you today?n", $first_name, $last_name);  ?>  下面的代码在运转的时间须要两个参数,分辨是姓和名,比方如许子运转:  [dbrogdon@artemis dbrogdon]$ scriptname.ph Darrell Brogdon  Shell剧本在表现器下面会输入:  Hello, Darrell Brogdon! How are you today?  [dbrogdon@artemis dbrogdon]$  在PHP作为静态网页编写言语的时间也含有“$argv”这个数组,不外和这里有一些差别:当PHP作为Shell剧本言语的时间“$argv[0]”对应的是剧本的文件名,而当用于静态网页编写的时间,“$argv[1]”对应的是QueryString的第一个参数。2、编写一个存在交互式的Shell剧本:  如果一个Shell剧本仅仅是本人运转,得到了交互性,那末也没有甚么意义了。当PHP用于Shell剧本的编写的时间,怎样读取用户输出的信息呢?很可怜的是PHP本身没有读取用户输出信息的函数或许方式,然而咱们能够效仿其余言语编写一个读取用户输出信息的函数“read”:  <?php  function read() {  $fp = fopen('/dev/stdin', 'r');  $input = fgets($fp, 255);  fclose($fp);  return $input;  }  ?>  须要重视的是下面这个函数只能用于Unix体系(其余体系须要作响应的转变)。下面的函数会翻开一个文件指针,而后读取一个不超越255字节的行(就是fgets的感化),而后会封闭文件指针,前往读取的信息。  当初咱们能够应用函数“read”将咱们后面编写的顺序1修正一下,使他愈加存在“交互性”了:  #!/usr/local/bin/php -q  <?php

上一篇:用PHP生成PDF文件 with FPDF-网络编程

下一篇:没有了