批改状态:合格
老师批语:
//前端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="./layui/css/layui.css" media="all">
</head>
<body>
<div style="text-align: center;">
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
<legend>常规使用:普通图片上传</legend>
</fieldset>
<div class="layui-upload">
<button type="button" class="layui-btn" id="test1">上传图片</button>
<div class="layui-upload-list">
<img class="layui-upload-img" id="demo1">
<p id="demoText"></p>
</div>
</div>
</div>
</body>
<script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
<script src="./layui/layui.js" charset="utf-8"></script>
<script>
layui.use(['upload', 'element', 'layer'], function() {
var $ = layui.jquery
, upload = layui.upload
, element = layui.element
, layer = layui.layer;
//常规使用 - 普通图片上传
var uploadInst = upload.render({
elem: '#test1'
,url: 'upload.php' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
, done: function (res) {
console.log(res);
return layer.msg(res.msg);
}
});
})
</script>
</html>//后端
$data = $_FILES;
//echo "<pre>";
//print_r($data);die;
function mkdirs($dir,$mode){
return is_dir($dir) or (mkdirs(dirname($dir),$mode) and mkdir($dir,$mode));
}
function write_log($logName,$data){
$date = date('Y-m');
$dir = __DIR__.'/public/log/'.$date.'/';
mkdirs($dir,$mode=0777);
$fp = fopen($dir.$logName.'.log',"a");
fwrite($fp,var_export($data,true)."\r\n");//写入文件
fclose($fp);//关闭资源通道
}
function upload_pic_err_return($code){
switch ($code){
case 2001:
$msg = '上传的图片格式不正确';
break;
case 2002:
$msg = '上传的图片太大';
break;
case 2003:
$msg = '上传的图片不合法';
break;
case 4004:
$msg = '图片上传失败';
break;
}
$data =['code'=>$code,'msg'=>$msg,'data'=>''];
write_log('pic_upload_err',$data);
echo json_encode($data);
die;
}
//$dir= __DIR__.'/bs/bss/bbs';$mode = 0777;
//function mkdirs($dir,$mode){
// if(is_dir($dir) || @mkdir($dir,$mode)) return true;
// if(!mkdirs(dirname($dir),$mode)) return false;
// return @mkdir($dir,$mode);
//}
$dir = __DIR__.'/public/upload/pic/'.date('Y-m-d',time()).'/';
if(!is_dir($dir)){
mkdirs($dir,0777);
}
$type = str_replace('image/','',$data['pic']['type']);
$allow_ext = [];
if(!in_array($type,$allow_ext)) upload_pic_err_return(2001);
if($data['pic']['size'] - 0 > 5000000) upload_pic_err_return(2002);
if(!getimagesize($data['pic']['tmp_name'])) upload_pic_err_return(2003);
$newFile = md5(time().$data['pic']['name']).'.'.$type;
if(!move_uploaded_file($data['pic']['tmp_name'],$dir.$newFile)) upload_pic_err_return(4004);
echo json_encode(['code'=>1001,'msg'=>'成功上传图片','data'=>'']) and write_log('pic_upload_suc',['code'=>1001,'msg'=>'成功上传图片','data'=>'']);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号