网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > PHP > PHP技术进阶 > 用PHP脚本在Linux系统上读取输入和对文  

用PHP脚本在Linux系统上读取输入和对文

2007-03-19  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

    Perl作为Linux系统命令行脚本的首选解释语言的日子一去不复返了。今天,我们有了更多的选择,包括Python、Ruby和PHP。如果你已经为网站编写PHP代码,并熟谙这种语言,那么你会发现,在命令行使用PHP的速度之快,效果之好令人惊奇。 网管论坛bbs_bitsCN_com

    在脚本中,任何脚本语言的一个最大功用是对文件进行操作并获取用户输入。PHP处理这些丝毫不比其它任何脚本语言逊色。 中国网管联盟bitsCN.com

例如,利用PHP在脚本执行期间处理读取用户提供输入,使用:

网管网www.bitscn.com

#!/usr/bin/php
<?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(\" Hello, $name. \");
?>
</code> 网管联盟bitsCN@com

    上面定义的read_input()函数将从STDIN提取输入,存储于$input 变量中,整理所有引导的和尾随的空白空间,然后返回。 中国网管联盟bitsCN.com

    同样的原理还可以应用于读取和操作标准文件;记住,对于Linux,STDIN只是另一个文件而已(相应地,上述例子中的opening /dev/stdin 也是这样)。 网管联盟bitsCN_com

#!/usr/bin/php
<?php

if (file_exists($argv[1]))
{
$file = $argv[1];
} else {
printf(\"ERROR: File '$file' does not exist! \");
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()语句中,在数组中循环,一次是文件中的一行。

网管u家u.bitsCN.com

    PHP已经不再严格拘泥于基于Web的编程。我们可以将它轻松应用于编写命令行脚本,既灵活又快速。同样地,几乎所有你能用Web脚本进行操作的,例如,数据库操作,都可以轻松地应用PHP的命令行脚本完成。

网管联盟bitsCN_com


TAGs   读取   输入   系统   脚本   PHP   文件   命令   file   printf   操作      
 上一篇:用 PHP 读取文件的正确方法   下一篇:为您详解PHP开发工具的使用与分析
用PHP脚本在Linux系统上读取输入和对文 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: