PHP文件上传处理案例分析
本篇章节讲解PHP文件上传处理的方法。分享给大家供大家参考,具体如下: 最近遇到一个事,把自己坑了好久,我想说说我开始的想法 PHP的上传机制封装的很完全,基本几行代码就能实现,他的实现流程是这样的 UPLOAD到文件到临时目录中–>使用move_uploadde_file()到指定的目录 这就是PHP上传流程,或者你在中途再进行一些验证。例如判断是不是通过upload方式提交的文档,或者文件的扩展是不是我们允许的 等等一系列验证。我给出简单的代码也算是抛砖引玉了。 上面的这种方式基本就满足了文件上传。但我需要的不是这样的。
需求:先点击上传文档,然后选择上传文件,JS上传后会返回一个值,显示当前时间戳问名称的文件在文档名称这个框框中。 然后点击提交后,提交表单。 服务器处理提交的表单,对上传的文件进行重命名。 问题也随之而来了,服务器是IIS的,然后它是用的映射的方式实现的虚拟跟目录。 这样的话$_SERVER[‘DOCUMENT_ROOT']就不在PHP站点的根目录 虽然完成了上传的功能,但无法下载这个文件。从服务器的安全考虑,还是打算把文件放在PHP站点内。 然后我就陷进了一个思维局限中。 再仔细想一想:
PHP有一个文件复制函数Copy(); 然后在配合rename()函数。这样就可以完成上传后文件的第二次移动和重命名了。 注意:在window平台下如果复制一个零字节的文件,copy() 将返回 FALSE ,但文件也会被正确复制。 然后PHP在文件处理上,积极的参考了Liunx的文件处理机制。PHP的文件操作效率,这跟I/O对写和操作系统有关。 总结:其实解决问题的方式很多,而且不要给自己画圈从而限定自己的思维。 更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》及《》 希望本文所述对大家PHP程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |