PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > 工作总结

PHP学习:PHP文件上传处理案例分析

管理员 2025-02-21
工作总结
8

《PHP学习:PHP文件上传处理案例分析》要点:
本文介绍了PHP学习:PHP文件上传处理案例分析,希望对您有用。如果有疑问,可以联系我们。
 

本文实例讲述了PHP文件上传处理的方法.分享给大家供大家参考,具体如下:PHP编程

最近遇到一个事,把自己坑了好久,我想说说我开始的想法PHP编程

PHP的上传机制封装的很完全,基本几行代码就能实现,他的实现流程是这样的PHP编程

UPLOAD到文件到临时目录中C>使用move_uploadde_file()到指定的目录PHP编程

这就是PHP上传流程,或者你在中途再进行一些验证.例如判断是不是通过upload方式提交的文档,或者文件的扩展是不是我们允许的PHP编程

等等一系列验证.我给出简单的代码也算是抛砖引玉了.PHP编程

$targetFolder = '/uploads'; // 定义根目录if (!empty($_FILES)) {  $tempFile = $_FILES['Filedata']['tmp_name'];if(is_uploaded_file($tempFile)){  $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;  $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];  $fileTypes = array('jpg','jpeg','gif','png'); // 允许的后缀扩展  $fileParts = pathinfo($_FILES['Filedata']['name']);  if (in_array($fileParts['extension'],$fileTypes)) {    move_uploaded_file($tempFile,$targetFile);    echo '1';  } else {    echo '非法上传文档.';  }}else{  echo "非法上传文件";}}

上面的这种方式基本就满足了文件上传.但我需要的不是这样的.PHP编程

PHP编程

上传功能PHP编程

需求:先点击上传文档,然后选择上传文件,JS上传后会返回一个值,显示当前时间戳问名称的文件在文档名称这个框框中.PHP编程

然后点击提交后,提交表单.PHP编程

服务器处理提交的表单,对上传的文件进行重命名.PHP编程

问题也随之而来了,服务器是IIS的,然后它是用的映射的方式实现的虚拟跟目录.PHP编程

这样的话$_SERVER[‘DOCUMENT_ROOT']就不在PHP站点的根目录PHP编程

虽然完成了上传的功能,但无法下载这个文件.从服务器的安全考虑,还是打算把文件放在PHP站点内.PHP编程

然后我就陷进了一个思维局限中.PHP编程

再仔细想一想:PHP编程

为何我不用实现PHP的上传机制的方式在重复一次.PHP编程

PHP不是将文件先放到临时目录里面吗?然后我为嘛假设JS上传成功后的目录也是一个临时目录,PHP编程

然后在再一次提交表单的时候进行文件复制.到指定的目录这样就完成了需要的功能.PHP编程

PHP有一个文件复制函数Copy(); 然后在配合rename()函数.这样就可以完成上传后文件的第二次移动和重命名了.PHP编程

注意:在window平台下如果复制一个零字节的文件,copy() 将返回 FALSE ,但文件也会被正确复制.PHP编程

然后PHP在文件处理上,积极的参考了Liunx的文件处理机制.PHP的文件操作效率,这跟I/O对写和操作系统有关.PHP编程

总结:其实解决问题的方式很多,而且不要给自己画圈从而限定自己的思维.PHP编程

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP图形与图片操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》PHP编程

希望本文所述对大家PHP程序设计有所帮助.PHP编程



希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部