把txt文件转为htm-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

把txt文件转为htm

简介:
txt文件阅读挺不方便的,对于超长的行,还得自动换行,行与行之间间隔太小,背景为白色
下面的程序能够批量把指定目录下的txt转化为htm文件,htm文件用浏览器打开后,根据txt文件的换行一样,且能够自动换行,字号为16px,行高为22px,背景色为淡蓝

 


  1. <?php  
  2. /*  
  3.     批量把某目录下的所有.txt文件转化为对应的htm文件,该htm文件包含有方便阅读的css样式  
  4.     生成的htm文件放在同一目录下htm目录下  
  5.     参数1:要转化的目录的路径  
  6.     执行 php txt2htm.php "C:\\txt\\"  
  7.      php txt2htm.php "/tmp/txt/"  
  8.      php txt2htm.php .  
  9. */ 
  10.  
  11. $basedir=$argv[1];  
  12. if(!$basedir||!is_dir($basedir))  
  13. {  
  14.     die("please input dir.\n");  
  15. }  
  16. //改变工作目录  
  17.  
  18. chdir($basedir);  
  19.  
  20. $d = dir(".");  
  21. //创建输出目录  
  22.  
  23. $outputdir="./htm/";  
  24. if(!is_dir($outputdir)){  
  25.     mkdir($outputdir, 0700);  
  26. }  
  27. //判断是否创建成功  
  28.  
  29. if(!is_dir($outputdir))  
  30. {  
  31.     die("cannot mkdir.\n");      
  32. }  
  33. while (false !== ($entry = $d->read()))   
  34. {  
  35.     //判断是不是文件  
  36.  
  37.     if(is_file($entry))  
  38.     {  
  39.         $filename=strtolower($entry);  
  40.             //判断是不是txt文件  
  41.  
  42.         if(stristr($filename,".txt"))  
  43.         {  
  44.             $wfile=$outputdir.basename($filename,".txt").".htm";  
  45.             //若是文件已经存在,则跳过  
  46.  
  47.             if(file_exists($wfile))  
  48.             {  
  49.                     echo "**********".$wfile." is exists ,skip this file**************\n";  
  50.                     continue;      
  51.             }      
  52.             if($str=file_get_contents($entry))  
  53.             {  
  54.                 //写入样式,和换行  
  55.  
  56.                 $str="<body style='font-size:16px;line-height:22px;background-color:#E7F4FE;'>".str_replace("\n","\n<br>",$str);  
  57.                 if($fp=fopen($wfile,"w"))  
  58.                 {  
  59.                      if (fwrite($fp,$str) === FALSE) {  
  60.                           //写入失败  
  61.  
  62.                  echo $wfile." cover fail! fwrite fail\n";       
  63.                     }else{  
  64.                             echo $wfile." cover success!\n";      
  65.                     }  
  66.                     fclose($fp);  
  67.                 }else{  
  68.                     //创建文件失败  
  69.  
  70.                     echo $wfile." cover fail! fopen fail\n";  
  71.                 }  
  72.             }else{  
  73.                 //读取失败  
  74.  
  75.                 echo $wfile." cover fail! file_get_contents fail\n";      
  76.             }      
  77.         }  
  78.   }  
  79. }  
  80. $d->close();  
  81. ?> 
运行:

 

效果:

 




     本文转自yifangyou 51CTO博客,原文链接:http://blog.51cto.com/yifangyou/610328,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: