本文共 1716 字,大约阅读时间需要 5 分钟。
对一个网站而言,有一个基本的不可缺少的功能,那就是文件上传。使用PHP预压来实现文件上传可谓是有得天独厚的优势的,那么今天,就一起来做一个关于无刷新实现的文件上传吧。
print_r($_POST);$username = $_POSY['username'];$password = $_POST['password'];$email = $_POST['email'];// 在服务器上和数据库内容信息对比即可,实现相关的业务逻辑。···
带有文件的表单和普通表单是有很大的区别的,首先我们要在表单上声明一个属性,如下:
来告诉服务器,我们上传的表单包含有文件信息。
谈到刷新模式,也就是点击完submit之后,页面跳转到业务处理界面。这也是我们普通方式实现的表单的数据提交。
后台处理除了普通的表单数据之外,最重要的是处理文件信息。PHP内置了一个函数,可以方便的把上传过来的文件从临时的数据区转移到我们的目标文件夹,实现上传的业务逻辑。
move_uploaded_file('临时文件路径','目标文件路径');
使用无刷新方式,与使用刷新方式的唯一的区别就是阻止了页面的跳转,我们通常会有两种方式来实现。
其他的操作处理与带跳转的保持一致即可。
虽然PHP实现其文件上传很方便,也很快速。但是上传文件的大小并不是无限制的。默认来说,有两个因素会限制我们上传文件的大小。
post_max_size = 200M
upload_max_filesize=200M
ajax对象有一个叫upload的属性,而且upload也作为一个对象而存在。其拥有一个叫onprogress的方法,我们可以通过监测这个方法,来查看文件上传过程中的百分比。
文件上传示例 无刷新方式上传附件
";//print_r($_FILES);// 附件的存储位置、附件的名字,记得一定要存在upload文件夹$path = "../upload/";// 获取文件的原始名称$origin_name = $_FILES['photo']['name'];// 拼接成该文件在服务器上的名称$server_name = $path.$origin_name;if($_FILES['photo']['error']>0) { die("出错了!".$_FILES['photo']['error']); }if(move_uploaded_file($_FILES['photo']['tmp_name'],$server_name)){ echo ""."Upload Success!";}else{ echo ""."Upload Failed!".$_FILES['photo']['error']; }?>
记得保证upload文件夹的存在性以及路径问题。
文件上传是一个很基础的功能,实现起来也不是很复杂。但是这个功能却又是那么的重要,我们可以方便的通过文件上传来配合修改用户的诸如头像,以及其他文件信息。
转载地址:http://ckzlo.baihongyu.com/