用新浪微博登录

只需一步,快速搞定

 找回密码
 立即注册

用新浪微博登录

只需一步,快速搞定

查看: 4870|回复: 0
打印 上一主题 下一主题

仿百度文库或豆丁网在线浏览doc.pdf.xls.txt源码(自动在线转换DOC.PDF.xls等文件本

[复制链接]

该用户从未签到

323

主题

1689

帖子

4679

积分

LV 11.会员

标准的控你妹

积分
4679

社区居民偶尔光临业余写手工蜂最爱沙发社区平民常驻会员忠实会员略有小成

跳转到指定楼层
楼主
发表于 2012-1-14 17:38:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 |          
核心提示:自动在线转换DOC.PDF.xls等文件本地生成SWF文件原理:通过PHP调用FlashPaper软件对DOC.PDF.XLS.TXT等文件进行转换,实现在线浏览功能和豆丁。GOOGLE等文库系统在线浏览相似,转换文件服务器本地存储,不需要通过其他网


自动在线转换DOC.PDF.xls等文件本地生成SWF文件


原理:通过PHP调用FlashPaper软件对DOC.PDF.XLS.TXT等文件进行转换,实现在线浏览
功能和豆丁。GOOGLE等文库系统在线浏览相似,转换文件服务器本地存储,不需要通过其他网站转换提高浏览速度.


《-------------------FlashPaper软件说明------------------------------》:
Macromedia FlashPaper2.2和contribute3.1一样都是Studio 8里的组件,FlashPaper的作用就是可以把Office

文档(Word、Excel、PowerPoint)等转换成格式的Flash文件和PDF文档,转换速度非常快,效果非常漂亮。我

转换过一个两百多页的Word文档,只用了一分钟左右。
此外,也可以将图片转换成PDF或者Flash影片。
Flash和PDF适合文档的网络传播,又可以较好的保护你的版权
安装说明:
运行初始化文件夹中的“初始化.bat”就可以了,如果提示“没有找到Flash播放器”那就再运行

“GetFlash.exe”。
使用说明:
1,右击要转换的文件,在菜单中选择转换成Flash或者PDF。
2,用office软件打开文件后,文件——打印——打印机名称选择Macromedia FlashPaper——确定——然后选

择保存为Flash或者PDF 。

FlashPaper2.2软件下载地址:/html/down/scgj_857_42.html


《---------------------------修改牵涉文件---------------------------------》
D:\wwwroot\disk\modules\recycle.inc.php   删除回收站文件后自动清除生成的SWF文件
D:\wwwroot\disk\modules\public.inc.php   删除公共文件后自动清除生成的SWF文件
D:\wwwroot\disk\templates\default\pd_viewfile.tpl.html 实现首次浏览自动生成SWF文件
D:\wwwroot\disk\viewfile.php ???不修改也没关系 我是让文件地址不隐藏显示


《-----------------------牵涉文件具体修改部分--------------------------------》


recycle.inc.php文件

好像是4个地方(错了高手指出哦!不过功能我是实现了测试也通过了)
把源文件中
if($rs['store_old']){
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name']);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].'_thumb');
                   }else{
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].'_thumb.'.$rs['file_extension']);
      


修改成(好像一共有4个地方)

if($rs['store_old']){
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name']);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].'_thumb');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.txt');
}else{
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].'_thumb.'.$rs['file_extension']);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.txt');



public.inc.php文件

把源文件中

if($rs['store_old']){
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name']);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'_thumb');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.txt');
}else{
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'_thumb'.$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.txt');
}

修改成

if($rs['store_old']){
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name']);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'_thumb');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.txt');
}else{
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'_thumb'.$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.txt');
}


pd_viewfile.tpl.html文件

这个文件改动比较大我打包了给大家参考不建议直接覆盖因为我的页面上面去掉了很多的东西

下面是我在调试的时候遇到的几个问题

1、[PHP运行命令出错]Warning: system() [function.system]: Unable to

使用了system("mkdir **")来新建目录。IIS来宾帐户默认是不能访问CMD的。所以就不能FORK新建线程了。
解决办法简单。找到C:/WINDOWS/SYSTEM32/CMD.EXE然后点右键属性。选安全,然后将IIS来宾帐户添加进去,

并勾选读取和运行权限。然后按确认。

2、首次打开页面时候超时修改下面

max_execution_time = 300 ,秒可以设置更大,这里是300秒,然后重起服务

3、没有system,exec执行权限 把下面删除就好了
disable_functions = proc_open, popen, exec, system, shell_exec, passthru  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

     
    Archiver|手机版|小黑屋|( 沪ICP备12034951号 )

GMT+8, 2024-11-16 03:05 , Processed in 0.112658 second(s), 31 queries .

© 2001-2011 Powered by Discuz! X3.1

快速回复 返回顶部 返回列表