极简图片上传处理

注:非本人原创!这里作整理,只为方便以后查看!


<script src="jquery-1.8.3.min.js"></script>
<script>    
	/**
	* 图片上传处理
	*/
	$(function(){
        $(".fileNewClass").off().on("change",function () {
            var url="/basic/upload/seniorImg";
            var formData = new FormData();
            var inputName = $(".fileNewClass").val();
            var  name=$(this).attr("upName");  //真实上传的文件名
            var fileName=$(this).attr("name");   //上传的按钮名称
            formData.append(name,$(this)[0].files[0]);
            formData.append("inputName",inputName);
            var tmpThis=$(this);;
            $.ajax({
                url : url,
                type : 'POST',
                data : formData,
                processData : false,
                contentType : false,
                dataType:'json',
                headers:{'X-CSRF-TOKEN':$('meta[name="_token"]').attr('content')},
                success : function(info) {
                    //var hiddenInput='<input type="hidden"  class="'+name+'" value="'+info.path+'">';
                    var hiddenInput='<input type="hidden" name="picArr[paramValue][]" value="'+info.path+'"><input type="hidden" name="picArr[primaryType][]" value="0"><input type="hidden" name="picArr[paramState][]" value="1">';
                    var imgstr='<img src='+info.allPath+' width="100" height="100" style="margin-right:10px">';
                    var  delstr='<p   οnclick="img_del_one(this)" style="color:#0088cc;cursor: pointer;">删除</p>';
                    var  allHtml='<div class="img_dev_one pull-left">'+hiddenInput+imgstr+delstr+'</div>';
                    $(tmpThis).parent().prev(".more_img").append(allHtml);
                }
            });
        })

    })
	
	/**
	* 删除单张图片
	*/
	function  img_del_one(self) {
        $(self).parent().remove();
    }
</script>

<div class="more_img">
    <div class="pull-left" style="padding-left: 15px;">
	<?php if(!empty($picArr) && count($picArr)>0): ?>
		<?php foreach ($picArr as $key=>$val):?>
		<div class="img_dev_one pull-left">
			<input type="hidden" name="picArr[paramId][]" value="<?=$val['paramId']?>">
			<input type="hidden" name="picArr[paramName][]" value="<?=$val['paramName']?>">
			<input type="hidden" name="picArr[paramValue][]" value="<?=$val['paramValue']?>">
			<input type="hidden" name="picArr[primaryType][]" value="<?=$val['primaryType']?>">
			<input type="hidden" name="picArr[paramState][]" value="<?=$val['paramState']?>">
			<img src="<?php echo $picHost.$val['paramValue'].".jpg"; ?>" width="100" height="100" style="margin-right:10px">
			<p οnclick="img_del_one(this)" style="color:#0088cc;cursor: pointer;">删除</p>
		</div>
		<?php endforeach ?>
	<?php endif ?>
    </div>

</div>
<div class="pull-left">
    <input type="file"   name="pc_head_file"  upName="pc_head" class="file upload fileNewClass" value="添加头图">
</div>
<?php
	/**
	* 高级上传
	*/
    function seniorImg(){
        if (empty($_FILES)) {
            $msg = "上传文件为空!";
            die("$msg");
        }
        $key=array_keys($_FILES)[0];
        $path = CommonUploadFile::uploadImageFile($_FILES[$key],$msg);
        if(!$path){
            die($msg);
        }
        $allPath = config("hostConfig.imageHost").config("hostConfig.imageUpload.group")."/".$path;
        $data['allPath']=$allPath;
        $data['path']=config("hostConfig.imageUpload.group")."/".$path;
        $data['name']=($_FILES[$key]['name']);
        echo   $dataJson=json_encode($data);
    }

	/**
     * 图片上传到本机
     * @param string $dirs
     * @return string
     */
    public static function uploadImageFile($imgResource, &$msg, $dirs = "uploads_pc")
    {
        $basePath = config("baseConfig.basePath");
        //定义图片路径
        $ds = DIRECTORY_SEPARATOR;
        $target_real_path = $basePath . $ds . $dirs . $ds;//存储上传的图片绝对路径
        $return_url = $ds . $dirs . $ds; //返回url
        $ymd = date("Ymd");
        $target_real_path = $target_real_path . $ymd . $ds;
        $return_url = $return_url . $ymd . $ds;
        if (!file_exists($target_real_path)) {
            mkdir($target_real_path, 0777, true);
        }

        //接收客户端上传的图片信息
        $img_options = array('jpg', 'jpeg', 'gif', 'png', 'webp');
        $file_name = uniqid('epai') . time();//图片名称
        $img_ext = !empty(@pathinfo($imgResource['name'])['extension']) ? strtolower(@pathinfo($imgResource['name'])['extension']) : '';
        $upload_file_name = $target_real_path . $file_name . '.jpg';//上传的图片路径
        if (empty($imgResource['tmp_name'])) {
            $msg = "请选择要上传的图片";
            return false;
        }
        if (!in_array($img_ext, $img_options)) {
            $msg = "请选择要上传jpg|jpeg|gif|png|webp等格式图片";
            return false;
        }
        if ($imgResource['size'] > 4 * 1024 * 1024) {
            $msg = "请选择上传4M以下的图片";
            return false;
        }
        if ($imgResource['error'] != 0) {
            $msg = "客户的图片上传错误";
            return false;
        }
        if (!move_uploaded_file($imgResource['tmp_name'], $upload_file_name)) {
            $msg = "图片上传失败";
            return false;
        }
        $msg = '图片上传成功';
        $file = $upload_file_name;
        $urlPath = self::uploadImageFileToRemote($file, $msg);
        return $urlPath['path'];
    }

?>
原作者:张艳冲
原文地址:http://blog.163.com/zhangyanchongabc@126/blog/static/16895673720178304541713

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值