Perl作为Linux系统命令行脚本的首选解释语言的日子一去不复返了。今天,我们有了更多的选择,包括Python、Ruby和PHP。假如你已经为网站编写PHP代码,并熟谙这种语言,那么你会发现,在命令行使用PHP的速度之快,效果之好令人惊异。
在脚本中,任何脚本语言的一个最大功用是对文件进行操作并获取用户输入。PHP处理这些丝毫不比其它任何脚本语言逊色。
例如,利用PHP在脚本执行期间处理读取用户提供输入,使用:
#!/usr/bin/php
function read_input()
{
$fp = fopen("/dev/stdin", "r");
$input = trim(fgets($fp, 255));
fclose($fp);
return $input;
}
printf("Please supply your name: ");
$name = read_input();
printf("nHello, $name.n");
?>
上面定义的read_input()函数将从STDIN提取输入,存储于$input 变量中,整理所有引导的和尾随的空白空间,然后返回。
同样的原理还可以应用于读取和操作标准文件;记住,对于Linux,STDIN只是另一个文件而已(相应地,上述例子中的opening /dev/stdin 也是这样)。
#!/usr/bin/php
if (file_exists($argv[1]))
{
$file = $argv[1];
} else {
printf("ERROR: File '$file' does not exist!n");
exit 1;
}
$data = file($file);
$c = 1;
foreach ($data as $line)
{
printf(sprintf("[%s]: %s", $c, $line));
$c ;
}
在上述例子中,PHP脚本将会读取传递到命令行文件中的每一行,并紧随当前行数将其输出。假如文件不存在,脚本会打印一个出错提示,并将返回代码1并退出(1表示出错;在正常运行中,脚本会以返回代码0退出)。file() 函数在这里使用,它读取文件的每行,列成数组(在这个例子中,数组为$data),然后用于foreach()语句中,在数组中循环,一次是文件中的一行。
PHP已经不再严格拘泥于基于Web的编程。我们可以将它轻松应用于编写命令行脚本,既灵活又快速。同样地,几乎所有你能用Web脚本进行操作的,例如,数据库操作,都可以轻松地应用PHP的命令行脚本完成。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載
最受歡迎的的開源編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1
強大的PHP整合開發環境