ShellScript方式的PHP转 这种方式颇有点像PERL的CGI方式。。
Shell Script方式的PHP PHP 怎么这么红 最近 PHP(Personal Hypertext Preprocessor) 似乎已经成了这一两年来 Linux/Unix 上最广为大家所使用的网页处理语言﹐它的方便、强大功能与 OpenSource 的特性使得它正逐渐侵蚀到传统 CGI 甚至是 MicroSoft ASP(Active Server Page)的市场﹐几乎各大网站征招人才莫不以会 PHP 作为基本条件。 PHP 确实有这个资格可以这么红﹐原因有下面数点 : PHP 是 OpenSource 软件﹐完全免费﹐可以自由散布﹐因此吸引了极多的人来使用﹐也因为如此﹐吸引到了商业公司为其发展更好的引擎与最佳化软件(请参考 http://www.zend.com/)。 PHP 本身非常简单易懂﹐浅显的指令语法﹐外加一些基本的对象导向处理能力﹐让新手足以在最短时间内学会。 PHP 提供了相当多的功能﹐包含了数学处理、字符串处理、网络相关功能、各种数据库的支持、影像处理功能、有为数众多的发展者正为 PHP 发展各式各样的新功能﹐扩充性极佳。 PHP 非常容易与 Apache 相结合﹐作为 Apache 的模块来使用﹐设定安装上相当简单﹐也因为 Apache 目前已经占据了 Web Server 全球 60% 的市场﹐PHP 自然而然成为 Apache 最佳搭配。 不过﹐这次要讲的主题不是 PHP 在网页设计上的应用﹐而是 PHP 在 Shell Script 上的应用﹐一般所知的 Shell Script 大约就是 tcsh、bash、perl 或是 python 这几类语言﹐我所要谈的就是将 PHP 当成 Shell Script 来使用。 PHP 执行档的安装 一般 PHP 作为网页处理语言都是要编译成 Apache 的模块﹐这里当然不么做﹐也因此编译起来很简单﹐只要以 root 的身分进行如下动作 : 解开 php-3.0.xx.tar.gz cd php configure make 编译完之后﹐在 php 目录下有一个可执行档﹐档名为 php﹐将它 copy 到 /usr/local/bin 下即可。注意﹐如果档案太大﹐可以使用 strip 指令将 php 的方式将不必要的信息去除﹐这样档案就会小得多了。 第一个程序 开始撰写我们的第一个 PHP Shell Script 程序﹐这个例子印出 "Hello world !" : #!/usr/local/bin/php -q echo "Hello, world !"; ?> 注意到 PHP 原本是应用在网页应用的﹐因此它内定会送出 HTML 的 HEADER﹐但是在此我们是要将 PHP 用作 Shell Script﹐"-q" 就是表示不要送出 HEADER 的意思﹐你可以试试看不加上 -q 的显示结果。 在这个例子中﹐/usr/local/bin/php 是表示要执行 /usr/local/bin/ 下的 PHP﹐因为我们刚才将它装在该处。echo 指令将 "Hello, world !" 印出﹐其中的 "" 字符是换行字符。 注意到在将这个程序存成档案后﹐须将其 chmod 成为可执行属性(chmod +x 文件名)﹐然后才能执行喔。 进阶使用 I 有时候我们需要在程序执行时﹐送进一些参数﹐比如说 ls 这个指令﹐后面可以加上 -l 参数﹐PHP Shell Script 一样也有支持这样的用法﹐有两个特殊的变量 : $argc 记录着后面送入参数的个数﹐$argv[] 数组参数存着的则是参数的内容。比如说我现在要设计一个算两个数字总和的程序 : #!/usr/local/bin/php -q $sum=0; $sum=$sum+$argv[1]+$argv[2]; echo $sum; ?> 假设将此程序命名为 sum.php3﹐则执行 sum.php3 1 2 按下 enter 则会印出 3。 如果要算出不特定个数的参数和﹐那么就得要用到 $argc 这个特殊变量了 : #!/usr/local/bin/php -q $sum=0; for ($t=1;$t 假设将此程序命名为 bigsum.php3﹐则执行 bigsum.php3 1 2 3 4 5 按下 enter 则会印出 15﹐执行 bigsum.php3 1 2 3 4 5 6 按下 enter 则会印出 21。 有时候我们需要在程序执行中输入资料﹐但是 PHP 原本就是用于网页设计﹐而网页上的资料输入自然都是用 FORM 的方式来输入﹐所以这将 PHP 作为 Shell Script 时问题就来了﹐好在 PHP 有提供了开文件功能﹐而在 Linux/Uinx 之下﹐输入(input)这件事原本就可以用开档的方式来完成﹐我们要开启的是 /dev/stdin 这个设备档(stdin 是表示 standard input 的意思)﹐程序如下 : #!/usr/local/bin/php -q $fp=fopen("/dev/stdin","r"); $inputstr=fgets($fp,100); fclose($fp); echo " ---------------------- "; echo $inputstr; ?> 其中的 fgets($fp,100) 是指从 $fp 这个档案(也就是 "/dev/stdin")中读取出 100 个 byte 的资料﹐程序执行到这行便会停下来等待我们的输入﹐当我们输入完按下 enter 之后﹐程序就会将刚才我们输入的资料给印出来了。 进阶使用 II 虽然已经可以处理输入﹐但是这样的功能显然还是太简单﹐无法应付更大的应用﹐比如说我需要一个功能是将一串资料流(data stream)中的 HTML 给去除﹐这时便需要完整地处理输出输入转向的能力﹐我们可以先设计程序如下 : #!/usr/local/bin/php -q $fp=fopen("/dev/stdin","r"); while(!feof($fp)) { $c=fgetc($fp); $inputstr=$inputstr.$c; }; fclose($fp); echo $inputstr; ?> 假设将此程序命名为 filt.php3﹐如果你直接执行这个程序﹐它会一直等待你输入﹐直到你按下 Ctrl+D 后才会将你的输入资料给印出﹐我们可以这么执行它 : more filt.php3 | filt.php3 这样的做法是将 filt.php3 这个程序用 more 给秀出并转向给 filt.php3 这个程序﹐filt.php3 会不断接受资料(事实上就是 filt.php3 程序代码本身)﹐最后将其印出。 我们可以在其中加上过滤 HTML 的功能 : #!/usr/local/bin/php -q $fp=fopen("/dev/stdin","r"); while(!feof($fp)) { $c=fgetc($fp); $inputstr=$inputstr.$c; }; fclose($fp); $inputstr=ereg_replace("

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

如果您是一位经验丰富的 PHP 开发人员,您可能会感觉您已经在那里并且已经完成了。您已经开发了大量的应用程序,调试了数百万行代码,并调整了一堆脚本来实现操作

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

PHP的魔法方法有哪些?PHP的魔法方法包括:1.\_\_construct,用于初始化对象;2.\_\_destruct,用于清理资源;3.\_\_call,处理不存在的方法调用;4.\_\_get,实现动态属性访问;5.\_\_set,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。
