之前一直用框架加复制前辈的代码来完成图片上传,不清楚图片上传是怎么回事,这次写一个纯php+layui上传图片的例子
文件上传链接
首先前端代码
<div class="layui-form-item">
<label class="layui-form-label">图片</label>
<div class="layui-input-block">
<img id="pre_img" style="height: 30px;" />
<button class="layui-btn layui-btn-sm" onclick="return false;" id="upload_img">
<i class="layui-icon"></i>上传图片
</button>
<input type="hidden" name="img" value="">
</div>
</div>
<script>
layui.use(['upload','jquery'],function () {
$ = layui.jquery;
var upload = layui.upload;
//执行实例
var uploadInst = upload.render({
elem: '#upload_img' //绑定元素
,url: '/upload.php' //上传接口
,accept:'images'
,done: function(res){
//上传完毕回调
$('#pre_img').attr('src',res.msg);
$('input[name="img"]').val(res.msg);
}
,error: function(){
//请求异常回调
}
});
});
</script>
当然你可以引入layui在线的样式和js
<link rel="stylesheet" href="https://www.layuicdn.com/layui/css/layui.css">
<script src="https://www.layuicdn.com/layui/layui.js"></script>
然后是php代码:
<?php
$file = $_FILES["file"];
if ($file==null) {
exit(json_encode(array('code'=>1, 'msg'=>'未上传图片')));
}
// 获取文件后缀
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
// 判断文件是否合法
if(!in_array($extension, array("gif","jpeg","jpg","png"))){
exit(json_encode(array('code'=>1, 'msg'=>'上传图片不合法')));
}
$info = move_uploaded_file($file['tmp_name'], "./uploads/".$file['name']); //移动文件到指定目录 建议文件名自己在修改一下
$img = '/uploads/'.$file['name'];
exit(json_encode(array('code'=>0, 'msg'=>$img)));
?>
评论 (0)