您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP做Shell语言_PHP

2024/6/16 5:15:22发布62次查看
联想软件超星空工作室 马洪志
php(personal hypertext preprocessor) 近一两年来似乎已经成为linux/unix上最广为使用的网页处理语言,方便、功能强大与源代码开放(opensource)的特性使得它正逐渐占领传统的cgi,甚至是 microsoft asp(active server page)的市场,很多的web站点用php做动态网页处理。
究其原因,可以总结如下:
php是opensource的软件,基于gpl协议,源代码开放,免费使用,自由发放,这样吸引了大量的人使用,同时也得到了商业公司的支持,特别是在php4中,zend为php提供了引擎和优化部分,你可以访问http://www.php.net或http://www.zend.com,可以得到更多的信息。
php本身的语法非常的简单,和c、perl语言有很大的相似。当我第一次接触php时,感觉它简直是perl的克隆。php本身非常简单易懂,同时提供面向对象的处理能力,让新手足以在最短时间内学会。
php 提供了非常丰富的功能,包含了数学处理、字串处理、网络相关功能、各种数据库的支持、图像处理功能。有很多人为php发展提供各式各样的新功能,它的扩性极佳。目前,php对flash提供了较好的支持。
php很容易与apache相结合,可以作为apache的模组来使用,同时,在apache中设定安装相当简单,也因为apache目前已经占据了web server 全球 60% 的市场,php 自然而然成为 apache 最佳搭配。同时为了提高web服务器的速度,可以把php直接编译进apache,提高web服务的访问、处理速度。
php的另外的一个功能是:它实际上是可以作为shell script来应用的。php作为shell script比其他的shell语言有很大的优势。尤其php的数据库的服务功能非常的强大,用户可以方便的访问数据库系统。
编译php让它用来做解释器,本文的操作环境是happylinux家用版v1.0,以root身份执行下面的步骤:
获得php的源代码
php的源代码在http://www.php.net 的网站上可以得到,同时国内的很多的网站上提供改网站的镜像。目前,最新的版本是php 4.0.2。
解开php源码包
tar zxvf php-4.0.2.tar.gz
编译php
cd php-4.0.2
configure --with-ftp --with-pgsql
make
注意configure的参数看php的帮助文件,以便你能更好的配置php。
当编译完成后,在php-4.0.2目录下会生成一个php的文件,将这个文件拷贝到/usr/sbin/
cp ./php /usr/sbin
测试编译的结果
输入下面的结果到文件test.php中:
#!/usr/sbin/php
保存结果到test.php中并更改文件的属性:
chmod 777 ./test.php
执行文件test.php
./test.php
这时你能够看见结果:
x-powered-by: php/4.0.2
content-type: text/html
hello world!
这个结果你可能有些失望,它并不是我们要的全部的结果。因为,php主要是做为网页的应用,上面的头两行是输出的hppt的头,怎样让php去掉这两行呢?你仅仅需要在加入参数-q就可以去掉hppt头:
#!/usr/sbin/php -q
再看一下输出的结果:
hello world!
ok!搞定。下面用php做脚本列举一些应用
用php连接数据库
php提供大量的数据库的函数,几乎所有的数据库php提供一套数据库的函数,所以用php写脚本,访问数据库是一个很好的主意。下面的例子是用php访问postgresql数据库的一个例子:
#!/usr/sbin/php -q
执行这个脚本,php访问数据库test,同时,会向test1表中插入一个记录。有关php访问数据库的内容请看相关的数据库函数和数据库的文档手册。
用php做ftp自动上载和下载脚本
在php3就提供php的ftp的函数,用这些函数能够实现文件的自动上载和下载的功能。想要利用php提供的ftp函数,必须要在编译php时的configure指定参--with-ftp。下面是ftp的例子:
#!/usr/sbin/php -q
显然利用php可以方便的进行网络的文件传输,没有必要写socket程序。
用php处理命令行参数
php和perl的相似之处还在于它们们处理的参数的方法是一致的,它们提供变量数组和变量计数器:$ argv [],$ argc。下面的例子是一个打印命令行字串的例子和命令行求和。
test.php
#!/usr/sbin/php –q
在命令行下执行:./test.php legendsoftware
将打印legendsoftware
test1.php
#!/usr/sbin/php –q
执行 test1.php 1 2 3 4 5 回车,则会打印出 15。
在console下进行交互
许多的c程序员知道在console下进行交互用scanf函数,php是为web而设计的语言,用户输入交互通过form中的变量。那么在console下怎么进行交互呢?答案很简单,用fopen函数打开系统的标准输入设备进行读取。下面的程序实现了这个从标准输入设备上读取字串的功能:
#!/usr/sbin/php -q
$fp=fopen(/dev/stdin,r);
echo “please input a string:”
$inputstr=fgets($fp,100);
fclose($fp);
echo this string is ;
echo $inputstr.”\n”;
?>
其中的 fgets($fp,100) 是指从$fp句柄(也就是 /dev/stdin)中读取出最多100个字节,执行这个程序会等待我们的输入,当我们输入完按下 enter 之后,程序会将我们的输入打印出来。
小结
通过上面的介绍,和本人的实践经验,php的功能非常的强大,不但对web的处理能力非常的强大,同时对脚本的处理能力也是非常的方便。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product