php ajax上传视频,PHP+Ajax实现文件上传功能

前端显示界面: 1

上传文件

function sub() {

var obj = new XMLHttpRequest();

obj.onreadystatechange = function() {

if (obj.status == 200 && obj.readyState == 4) {

document.getElementById('con').innerHTML = obj.responseText;

}

}

// 通过Ajax对象的upload属性的onprogress事件感知当前文件上传状态

obj.upload.onprogress = function(evt) {

// 上传附件大小的百分比

var per = Math.floor((evt.loaded / evt.total) * 100) + "%";

// 当上传文件时显示进度条

document.getElementById('parent').style.display = 'block';

// 通过上传百分比设置进度条样式的宽度

document.getElementById('son').style.width = per;

// 在进度条上显示上传的进度值

document.getElementById('son').innerHTML = per;

}

// 通过FormData收集零散的文件上传信息

var fm = document.getElementById('userfile3').files[0];

var fd = new FormData();

fd.append('userfile', fm);

obj.open("post", "upload.php");

obj.send(fd);

}

#parent {

width: 200px;

height: 20px;

border: 2px solid gray;

background: lightgray;

display: none;

}

#son {

width: 0;

height: 100%;

background: lightgreen;

text-align: center;

}

Ajax实现进度条文件上传

后台处理页面:

f ($_FILES['userfile']['error'] > 0) {

exit("上传文件有错".$_FILES['userfile']['error']);

echo errors;

}

// 定义存放上传文件的真实路径

$path = './upload/';

// 定义存放上传文件的真实路径名字

$name = $_FILES['userfile']['name'];

// 将文件的名字的字符编码从UTF-8转成GB2312

$name = iconv("UTF-8", "GB2312", $name);

// 将上传文件移动到指定目录文件中

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $path.$name)) {

echo "文件上传成功";

} else {

echo "文件上传失败";

}

?>

性能优化处理-》上传大小限制-》修改中间件Apache下的php.ini文件

max_execution_time = 1200,Maximum execution time of each script, in seconds 脚本最大执行时间,单位是秒

max_input_time = 1000 接收传输数据的最长时间,单位也是秒

memory_limit = 128M 一个脚本占用内存的上限

post_max_size = 128M post方式传输的数据最大的上限

file_uploads = On 允许文件上传

upload_max_filesize = 100M 上传的文件上限

max_file_uploads = 20 一次允许上传20个文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值