<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<script src="../bootstrap/js/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
<script src="ajaxfileupload.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
#yulan{
width: 300px;
height: 200px;
background-size: 100% 100%;
background-image: url(shangchuan/05-370-230.jpg);
}
#upfile{
width: 100%;
height: 100%;
opacity: 0;
}
</style>
</head>
<body>
<div id="yulan">
<!--name和id要一样,改变图片时运行tijiao()函数-->
<input type="file" id="upfile" name="upfile" value="" onchange="tijiao()"/>
</div>
</body>
</html>
<script type="text/javascript">
function tijiao(){
$.ajaxFileUpload({
// 跳转到处理页面
url:"wjscajaxchuli.php",
type:"post",
secureuri:false,
// 上传input的name和id
fileElementId:"upfile",
dataType:"text",
data:{},
success:function(lujing){
$("#yulan").css("background-image","url("+lujing+")");
}
})
}
</script>
<?php
// var_dump($_FILES['upfile']);
$name = $_FILES['upfile']['name'];
$type = $_FILES['upfile']['type'];
$tmp_name = $_FILES['upfile']['tmp_name'];
$error = $_FILES['upfile']['error'];
$size = $_FILES['upfile']['size'];
// 判断是否选择文件=====================================================================
if(!empty($name)){
// 判断文件格式是否正确==============================================================
if($type == "image/jpeg"){
// 判断文件大小是否符合要求======================================================
if($size <= 1024000){
// 判断文件是否存在错误====================================================
if($error == 0){
// 查找文件存放位置路径是否存在=============================================
if(!is_dir("./shangchuan/")){
// 没有找到路径则先创造路径======================================
mkdir("./shangchuan/");
}
// 获取时间戳====================================================
$time = time();
// 拼接保存地址:路径+文件
// 例:C:/yingyongchengxu/wamp/bin/mysql/mysql5.6.17/bin/mysql.exe
$xinlujing = "./shangchuan/".$time.$name;
// 如果路径中有中文字符需要先转换成UTF-8格式
$xinlujingzhuanhuan = iconv("UTF-8","gb2312",$xinlujing);
// 把转换后的路径保存
if(move_uploaded_file($tmp_name,$xinlujingzhuanhuan)){
// 把修改之前的路径传回
echo $xinlujing;
}else{
echo "上传失败";
}
}else{
echo "上传错误";
// 假设文件上传字段的名称img,则:
// $_FILES['img']['error']有以下几种类型
// 1、UPLOAD_ERR_OK
// 其值为 0,没有错误发生,文件上传成功。
// 2、UPLOAD_ERR_INI_SIZE
// 其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize选项限制的值。
// 3、UPLOAD_ERR_FORM_SIZE
// 其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
// 4、UPLOAD_ERR_PARTIAL
// 其值为 3,文件只有部分被上传。
// 5、UPLOAD_ERR_NO_FILE
// 其值为 4,没有文件被上传。
// 6、UPLOAD_ERR_NO_TMP_DIR
// 其值为 6,找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。
// 7、UPLOAD_ERR_CANT_WRITE
// 其值为 7,文件写入失败。PHP 5.1.0 引进。
}
}else{
echo "文件不能超过1M";
}
}else{
echo "文件格式错误";
}
}else{
echo "请选择文件";
}
?>