Php中实现:利用Ajax技术上传Excel文件的实例
查看有道云笔记
Php中实现:利用Ajax技术上传Excel文件的实例
$(function () {
$("#upload_file").click(function () {
if (!window.FormData) {
alert("浏览器不支持上传,请更换高版本的浏览器!");
return false;
}
var file1 = $("input[name='video']").val();
if (file1 == "") {
alert('请选择上传文件!');
return false;
}
//判断文件的类型
var fileExtendName = file1.substring(file1.lastIndexOf('.') + 1).toLowerCase();
if (fileExtendName != 'xlsx') {
alert('请选择Excel文件,注意扩展名');
return false;
}
//判断文件的大小
var fileSize = $("input[name='video']")[0].files[0].size;
if (fileSize > 100 * 1024) {
alert("文件大小超过100K!");
return false;
}
// var formData=new FormData($('#uploadForm')[0]);
var type = $('#my_parameter_code').val();
var formData = new FormData();
formData.append('ge', type);
// formData.append("video", $("input[name='video']")[0].files[0]);
formData.append("video", $("#uploadfile")[0].files[0]);
// console.log(formData);
$.ajax({
url: "662_upload.php",
type: 'POST',
data: formData,
dataType: 'JSON',
cache: false,
//上传文件不需要缓存
processData: false,
//用于对data数据序列化处理,这里无需要处理
contentType: false,
//必须
success: function (data) {
// console.log(data);
if (data['pic'] == 1) {
alert('上传成功!');
}else{
alert('请正确操作,课程表未成功上传!');
}
},
error: function () {
alert("Error!");
},
});
});
})
<?php
/**
* Motto: Never too late to learn !
* Created by VS Code at home !
* Author: 葛绪涛 Nickname: wordGe QQ:690815818
* Date: 2022/1/22 * Time: 18:25
* Filename: 662_upload.php
* 功能:
*/
$myname = $_POST['ge'];
$flag = 1;
$size = 1;
$pattern = '/,|\*|\?|(|)|;|\'|\"|\/|#/';
$myname = preg_replace($pattern, '', $myname);
if (iconv_strlen($myname, 'UTF-8') > 12) {
die('文件异常 27');
} else {
$myname = $myname . '.xlsx';
$max_size = 110;
if ($_FILES['video']["error"] > 0) {
$flag = 0;
$size=2;
} else {
if (is_uploaded_file($_FILES['video']['tmp_name'])) {
$upfile = $_FILES["video"];
//获取数组里面的值
$name = $upfile["name"];//上传文件的文件名
$type = $upfile["type"];//上传文件的类型
$size = $upfile["size"];//上传文件的大小
$tmp_name = $upfile["tmp_name"];//上传文件的临时存放路径
// 移动上传的文件到指定目录
if ($size > $max_size * 1024) {
$flag=0;
echo '大小不能超过100K';
die('文件异常!');
}
$extend = pathinfo("./" . $name);
$extend = strtolower($extend["extension"]);
if ($extend == 'xlsx') {
$flag=1;
} else {
$flag=0;
echo '只允许上传xlsx类型文件';
die('文件扩展名异常!');
}
if ($flag == 1) {
move_uploaded_file($tmp_name, '../up_excel/' . $myname);
}
}else{
$flag=0;
$size=3;
$upfile = $_FILES["video"];
//获取数组里面的值
$name = $upfile["name"];//上传文件的文件名
}
}
}
$arr = array(
'name' => $name,
'myname' => $myname,
'pic' => $flag,
'size' => $size,
'type'=>123
);
echo json_encode($arr); //输出json数据