把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,如需转载请自行联系原作者



相关文章
|
存储 并行计算 Linux
国产之路:复旦微FMQL调试笔记1:PS网口
FPGA,全程现场可编程门阵列,是指一切通过软件手段更改、配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集成电路。换个简单通俗的介绍方式,就好比一个全能的运动员,FPGA就是这么神奇的可以通过设定而实现各种复杂的功能电路。
3177 0
国产之路:复旦微FMQL调试笔记1:PS网口
|
移动开发 自然语言处理 小程序
分享88个企业政府PHP源码,总有一款适合你
分享88个企业政府PHP源码,总有一款适合你
691 2
|
9月前
|
人工智能 监控 安全
员工使用第三方AI办公的风险与解决方案:从三星案例看AI的数据防泄漏
生成式AI提升办公效率,也带来数据泄露风险。三星、迪士尼案例揭示敏感信息外泄隐患。AI-FOCUS团队建议构建“流式网关+DLP”防护体系,实现分级管控、全程审计,平衡安全与创新。
|
11月前
|
存储 人工智能 API
RAG:让AI不再胡说八道的秘密武器
想象一下,你的AI助手突然变成了一个什么都知道的专家,不再胡编乱造,而是有理有据地回答你的问题。这不是科幻小说,这就是RAG技术的魔力!让我们一起探索如何让AI变得更聪明、更可靠的奥秘。
520 0
|
6月前
|
存储 弹性计算 人工智能
2026阿里云服务器租用价格与计费指南:新购、续费、升级活动报价全解析
阿里云服务器凭借弹性伸缩、安全可靠的特性,覆盖个人开发、企业业务及高性能计算等多场景需求。其产品体系主要包含轻量应用服务器、云服务器 ECS 及 GPU 服务器三类,不同机型在配置、定价及适用场景上各有侧重,同时通过差异化的计费模式与优惠政策,满足不同用户的成本控制需求。本文将从各类型服务器的配置规格、价格体系(年付、月付、按小时计费)、续费政策及附加资源(带宽、存储)定价展开详细说明,为用户提供清晰的成本参考。
|
6月前
|
Java API 开发者
黄金、白银及全球期货数据 API 对接实战
在全球经济波动下,黄金白银成避险焦点。本文介绍如何通过StockTV API快速接入全球贵金属实时行情、K线及盘口数据,支持COMEX、伦敦金等品种,助力开发者构建量化系统与金融分析工具,实现毫秒级数据推送与专业图表集成。
|
6月前
|
安全 前端开发 NoSQL
【RuoYi-SpringBoot3-Pro】: 三级等保安全配置
RuoYi-SpringBoot3-Pro 内置三级等保安全配置,涵盖密码策略、登录控制、IP 黑名单、会话管理等功能,通过动态参数实现无需重启的灵活管控,全面满足国家信息安全等级保护三级要求,提升系统安全性与合规性。
720 0
|
存储 弹性计算 数据库
阿里云优惠券是什么?2024年阿里云优惠券领取地址链接和使用方法
阿里云优惠券为用户提供购云服务折扣。2024年可通过活动中获取各类云产品优惠。学生专享300元无门槛代金券,可用于购买ECS或轻量应用服务器。域名优惠口令(如com批量注册更享优惠)提供更多节省。领取阿里云超级红包(新人最高100元)。代金券可在查询,并在结算时选择使用。
2648 1
阿里云优惠券是什么?2024年阿里云优惠券领取地址链接和使用方法
|
12月前
|
数据采集 JSON 监控
怎么把抖音ip改到别的地方
动态IP修改技术原理及实现 一、技术背景与基本原理
|
Linux 网络安全 开发工具
Git学习笔记(一):基础与应用
本文档详细介绍了如何将本地项目关联到Gitee上的空仓库并上传代码,以及如何验证本机与Git服务器的SSH连接。同时,还概述了Git的基本概念、安装步骤、初始配置、常见命令及如何配置多个SSH-Key,适用于初学者快速上手Git操作。
552 51
Git学习笔记(一):基础与应用