博主信息
博文 15
粉丝 0
评论 0
访问量 11296
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
补0820作业: 图片上传原生PHP整理
我们的关系如此狭窄
原创
650人浏览过

//前端

<!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'=>'']);


批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学