都是权限惹的祸!

   最近一直忙的做公司的项目,很少来这里发东西了,对不起大家了,随着,项目的结束,终于可以在这里吐槽了!

公司的项目其实说白了,就是想实现类似百度文库或其他文库类似的功能,供公司内部技术人员和销售人员来使用的,和文库类项目唯一不同的地方就是,就是多文档的同时上传。废话少说,直接上菜。

技术方面使用了如下的技术,PHP,uploadify,flashpaper,swftools,fleapaper,ADODB等技术。upuploadify的资料这里就不介绍了,简单的说一下,来自国外的一款优秀jQuery插件,主要功能是批量上传文件,它的使用说简单也简单,说复杂也复杂,我遇到的唯一的难点就是如何使用表单给后端传参数,这里,通过度娘查了很多的资料,但没有发现一个有用的,大多数的资料用的都是老的版本,所以,没什么参考价值,只有一个www.pooy.net/这个博客还有点参考价值。有很多关于这个插件的用法也是在这里了解到的,推荐小白们有时间去这里看看。

我实现的是批量上传,并同时入库的功能,数据库的接口选择了adodb,开发的时候出了洋相,居然,多文件上传成功但没有入库,后来,检查居然是路径的问题,害死人啊!其次,就是上传中文目录和中文文件名的错误,进行了多次的转换,核心技术其实就是iconv,搞得我有点晕,不时要检查中英文的情况,所以,还是希望php的以后的版本能早点实现unicode的功能。传递参数其实使用的是$_POST。

说完了批量上传,下面就要说道重点了,文档的转换,其实,也主要是实现以下文档的转换,word转pdf,pdf转swf,或其它文档转成上面提到的几个办法。通过搜索,发现大部分使用的是flashpaper这个,我一开始也是选择了这个,使用的方法也非常的简单,安装该软件,然后,默认为打印机,使用命令行参数对上传的文件进行相应的转换工作,那么,在PHP中,则使用系统执行函数执行相应的操作即可实现。

但问题偏偏出在php执行系统函数的上面了,其实,在php中执行系统函数非常简单,一个system,或exec就可以了,好了,开工,测试,没有出现相应的结果。难道是命令行语句有错吗md下运行,没有问题,说明不是软件的问题,难道,系统执行函数有错,用系统函数执行系统命令,见鬼了,居然有动静了。经过反复的测试,发现,只要是实现系统的命令,程序完美运行,只要一执行用户命令,程序没有反应。忘了,说了,我使用的apache+PHP的配置,IIS+PHP的环境,暂时对这个不感冒!总觉得配起来太麻烦。但不见得就不好啊,我只是犯懒了。

这个地方,你只要隐藏了已知文件类型的扩展名,就凭你是神仙也没辙。所以,这样的细节,还是要注意的好!

好了,收工!

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2013年10月9日
下一篇 2013年10月10日

相关推荐