用php实现把txt文件转为htm的代码

发布时间:2020-12-02编辑:脚本学堂
本文介绍的程序能够批量把指定目录下的txt转化为htm文件,htm文件用浏览器打开后,根据txt文件的换行一样,且能够自动换行,字号为16px,行高为22px,背景色为淡蓝。

    txt文件阅读不是很方便,对于超长的行,还得自动换行,行与行之间间隔太小,背景为白色。
    本文介绍的程序能够批量把指定目录下的txt转化为htm文件,htm文件用浏览器打开后,根据txt文件的换行一样,且能够自动换行,字号为16px,行高为22px,背景色为淡蓝。
    感兴趣的朋友,可以参考下。
 

复制代码 代码如下:

    <?php
    /*
        批量把某目录下的所有.txt文件转化为对应的htm文件,该htm文件包含有方便阅读的css样式
        生成的htm文件放在同一目录下htm目录下
        参数1:要转化的目录的路径
        执行 php txt2htm.php "C:txt"
         php txt2htm.php "/tmp/txt/"
         php txt2htm.php .
    */

    $basedir=$argv[1];
    if(!$basedir||!is_dir($basedir))
    {
        die("please input dir.n");
    }
    //改变工作目录

    chdir($basedir);

    $d = dir(".");
    //创建输出目录

    $outputdir="./htm/";
    if(!is_dir($outputdir)){
        mkdir($outputdir, 0700);
    }
    //判断是否创建成功

    if(!is_dir($outputdir))
    {
        die("cannot mkdir.n");   
    }
    while (false !== ($entry = $d->read()))
    {
        //判断是不是文件

        if(is_file($entry))
        {
            $filename=strtolower($entry);
                //判断是不是txt文件

            if(stristr($filename,".txt"))
            {
                $wfile=$outputdir.basename($filename,".txt").".htm";
                //若是文件已经存在,则跳过

                if(file_exists($wfile))
                {
                        echo "**********".$wfile." is exists ,skip this file**************n";
                        continue;   
                }   
                if($str=file_get_contents($entry))
                {
                    //写入样式,和换行

                    $str="<body style='font-size:16px;line-height:22px;background-color:#E7F4FE;'>".str_replace("n","n<br>",$str);
                    if($fp=fopen($wfile,"w"))
                    {
                         if (fwrite($fp,$str) === FALSE) {
                              //写入失败

                     echo $wfile." cover fail! fwrite failn";   
                        }else{
                                echo $wfile." cover success!n";   
                        }
                        fclose($fp);
                    }else{
                        //创建文件失败

                        echo $wfile." cover fail! fopen failn";
                    }
                }else{
                    //读取失败

                    echo $wfile." cover fail! file_get_contents failn";   
                }   
            }
      }
    }
    $d->close();
    ?>

运行:
img1
效果:
img2