手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:简历

RTF文件批量转成HTML文件

rtf是一种富文本格式,根据RFC的规范,可以将其转为各种文件,如doc,wps等,但如果真的要根据RFC规范一点点的写程序,那就真的太累了。所以。。。我用wps转换了。
以前写过wps生成文档的程序,就是这篇闲着无聊,用WPS生成文档,现在,这个RTF转换到HTML也可以用PHP来完成

PHP代码
  1. <?php  
  2. $wps = new COM('WPS.Application');  
  3. $wps->Visible = false;  //不显示wps界面
  4. $filename = realpath('./RTF_to_HTML_Converter.rtf');  
  5. $stime = microtime(1);  
  6. for ( $ii = 0; $ii < 1000; $ii++ ){  
  7.     $savedfile = "c:\\convert\\{$ii}_test.html";  
  8.     $doc = $wps->Documents->Open($filename);  
  9.     $doc->SaveAs($savedfile, 8);  //参考Document.SaveFormat 属性  
  10.     $doc->Close();  
  11. }  
  12. $wps->Quit();    
  13. echo( sprintf( "%0.6f" , (microtime(1)-$stime) ) );  
  14. unset( $doc , $wps );    

测试了一下,生成1000个文件,花了257秒,4分多种,可以接受这个时间,只是在转换的时候,CPU超过50%,而且是在命令行下的。如果是在网页界面肯定是没有这么快的了。
PS:转换后,中文编码实体化了,&#30475;&#30475;&#20013;&#25991;&#24590;&#20040;&#36716;,变成这样的格式,它是什么内容呢?它们就是:【看看中文怎么转】<-- 可以看一下源码,就知道这7个字是什么样的了

Tags: rtf, html, wps

IP来源引发的错误

单位的一些代码不想被其他人所访问,因此做了点小小的测试,即利用 apache 的basic auth进行验证
htpasswd -c passwdfile user

创建一个用户,然后在apache的conf里加入以下几行代码,加在directory标签中

XML/HTML代码
  1. AllowOverride AuthConfig  
  2. Order Deny,Allow   #这个,可是有顺序的哦
  3. Deny from all  
  4. Allow from 192.168.0   #这个,是按段来的,并非需要192.168.0.1这样的全部IP
  5. AuthType Basic  
  6. AuthName "Login "  #登录窗口标题
  7. AuthUserFile E:/Server/www/httppasswd  #设定密码文件
  8. Require valid-user   #这一行表示是只允许passwdfile中的用户进行访问
  9. satisfy any  
本来。。。是没有问题了结果我通过域名访问的时候,发现要输入密码。

在同事的测试下才想起,通过域名访问的时候,已经是公网IP了,所以把allow from 192.168.0 改为公网IP(公司内部对外的公网IP前三段)

OK,全解决了。

就因为访问域名的时候,来源是公网IP而不是内网IP,在那里折腾了一个多小时。细节啊。。。郁闷

Tags: ip, 来源