破釜沉舟论坛 » WEB 开发 » php读取文件特定行内容

2007-8-13 14:07 php店小二
php读取文件特定行内容

今天想读很大一个文件的最后一行

所以想了一下写了一个读取文件特定行的脚本


环境linux+php

[quote]script_file_name :php get_file_line_num_info.php[/quote]

[code]<?php
/**
* @file
* @version  1.0
* @author   网海浪子
* @date  2006-3-30
* @email [email]sxf02615@163.com[/email]
* @brief    验证码文件类
*
*/
?>
<?php
/**
*
* @brief  调用系统标准输入输出
*
*/
function read_input()
{
        $fp                = fopen("/dev/stdin", "r");
        $input        = trim(fgets($fp, 255));
        fclose($fp);
        return $input;
}
print_r("请输入文件名称\n");
$file_name = read_input();

print_r("请输入要显示的行数\n");
$file_line_num = read_input();

print_r("输入内容:文件名称->".$file_name.' 行数->'.$file_line_num."\n");
$while_num = 0;

while(true)
{
        print_r("确定执行?y/n \n");
        $sure = read_input();
        if($sure=='y'||$sure=='n'||$sure=='Y'||$sure=='N')
        {
                if($sure=='y'||$sure=='Y')
                {
                        $fp_file = @fopen($file_name,'r');
                        if(!$fp_file)
                        {
                                print_r("文件不存在 或者 没有读权限\n");
                        }
                        else
                        {
                                $line_num = 1;
                                while(!feof($fp_file))
                                {
                                        if($line_num==$file_line_num)
                                        {
                                                print_r(fgets($fp_file,4096));
                                                break;
                                        }
                                        $line_num++;
                                }
                        }
                        break;
                        fclose($fp_file);
                }
                else
                {
                        print_r("你选择了不执行\n");
                }
                break;
        }
        $while_num++;
        if($while_num==1000)
        {
                print_r('对不起,已经超过最大次数\n');
                return false;
        }
}
?>
[/code]

使用方法:
[code]path_to_php/php php get_file_line_num_info.php[/code]

[[i] 本帖最后由 php店小二 于 2007-8-13 14:09 编辑 [/i]]

页: [1]
查看完整版本: php读取文件特定行内容


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.