PHP 記錄自己的圖片上傳(單圖和多圖)

單圖上傳:
html:

<input type="file" id="up_img" name="file"/> // 上傳按鈕
<input id="path_a" name="imgpath_a" type="hidden" value=''/>  //返回路徑
![](__ASSETS__/images/uploadfile.png) // 圖片顯示

js:

<script src="__ASSETS__/js/ajaxfileupload.js" type="text/javascript"></script>
  <script>
        $(function(){
            $("body").on("change","#up_img",function(){
                $.ajaxFileUpload({  
                    url : "{:U('Console/Console/files')}",   //submit to UploadFileServlet  
                    secureuri : false,  
                    dataType : 'text',    //返回的文本類型
                    fileElementId : 'up_img',     //file 的   ID
                    success : function(data) { 
                        $("#path_a").val('/'+data);     //把返回的路徑放到要提交的input中    data是返回的路勁
                        $("#imgShow").attr("src",'/'+data);   //顯示圖片
                    },  
                });
            })
        })
  </script>

處理圖片上傳

public function files(){
        if($_FILES['file']['error'] == 0){
            $type_array = array('image/jpeg','image/pjpeg','image/gif','image/png','application/octet-stream'); 
            if($_FILES['file']['size'] <= 3000000){   //判斷圖片大小
                $name = $_FILES['file']['name'];
                $name_arr = explode('.', $name);
                $new_name = time().uniqid().'.'.$name_arr[count($name_arr)-1];
                $path = 'Public/Console/images/admin/'.date('Y',time()).'/'.date('m',time());   //上傳圖片路徑
                $new_path = $path.'/'.$new_name;
                
                if(!is_dir($path)){
                    mkdir($path,0777,true);
                }
                if(move_uploaded_file($_FILES['file']['tmp_name'],$new_path)){
                    echo $new_path;die;    //返回路徑
                }else{
                    echo "<script>alert('上傳圖片失敗!')</script>";
                }
            }else{
                echo "<script>alert('上傳圖片過大!')</script>";
            }
        }
    }

多圖上傳 和單圖沒啥區(qū)別,就是循環(huán)上傳
html:

<input type="file"  id="up-img" multiple="multiple"  name="file[]" class="aaa"/>    //multiple="multiple"要有這個(gè)
<input type="hidden" id="path" name="imgpath">

js:

<script>
        $(function(){
            var j = 0;     //申明這個(gè)是循環(huán)顯示圖片的時(shí)候,給圖片已個(gè)能找到它的東西
            $("body").on("change",".aaa",function(){
                var f = $("#up-img").val();
                $.ajaxFileUpload({  
                    url : "{:U('Console/Console/filesall')}",   //submit to UploadFileServlet  
                    secureuri : false,  
                    dataType : 'text',
                    fileElementId : 'up-img',   
                    success : function(data) {
                        var path = $("#path").val();
                        var newpath = path+data;
                        $("#path").val(newpath);
                        var str=data.substring(0,data.length-1)    //返回回來的路徑最后多著一個(gè)逗號
                        var arr=str.split(',');
                        for(var i=0;i<arr.length;i++){   //循環(huán)顯示圖片
                            $("#imgshow").append("<div style='float:left;width:150px;height:150px;margin-right:10px;margin-bottom:10px;position:relative;' id='divimg"+j+"'>![]("+arr[i]+")<a style='position:absolute;right:0;top:0;background:#ccc;color:#fff;width:22px;height:22px;text-align: center;line-height:22px;cursor:pointer;' onclick='clearimg("+j+")'>×</a></div>");
                            j++
                        }
                    },  
                })
            })
        })
  </script>

處理多圖圖片上傳

public function filesall(){
        $i = 0;
        $length = count($_FILES['file']['name']);
        $img = array();
        for($i;$i<$length;$i++){    //接收過來的東西, 處理一下
            $img[$i]['name'] = $_FILES['file']['name'][$i];
            $img[$i]['type'] = $_FILES['file']['type'][$i];
            $img[$i]['tmp_name'] = $_FILES['file']['tmp_name'][$i];
            $img[$i]['error'] = $_FILES['file']['error'][$i];
            $img[$i]['size'] = $_FILES['file']['size'][$i];
        }    
        foreach ($img as $v){    //循環(huán)上傳
            if($v['error'] == 0){
                $type_array = array('image/jpeg','image/pjpeg','image/gif','image/png','application/octet-stream');
                if($v['size'] <= 5000000){
                    $name = $v['name'];
                    $name_arr = explode('.', $name);
                    $new_name = time().uniqid().'.'.$name_arr[count($name_arr)-1];
                    $path = 'Public/Console/images/admin/'.date('Y',time()).'/'.date('m',time());
                    $new_path = $path.'/'.$new_name;
                    
                    if(!is_dir($path)){
                        mkdir($path,0777,true);
                    }
                    if(move_uploaded_file($v['tmp_name'],$new_path)){
                        $ppp .= '/'.$new_path.',';   //循環(huán)里面用逗號拼接一下字符串
                    }else{
                        echo "<script>alert('上傳圖片失??!')</script>";
                    }
                }else{
                    echo "<script>alert('上傳圖片過大!')</script>";
                }
            }
        }
        if($ppp){    //返回上傳后的路勁
            echo $ppp;die;
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,161評論 4 61
  • 當(dāng)窗外的雨閑掛在地面時(shí),我正靠在沙發(fā)上翻著新買的書。沒有心儀的晴天,整個(gè)大廳是灰暗的,而我懶得開燈。 棋院的新同事...
    藍(lán)莓甜甜閱讀 372評論 0 1
  • 現(xiàn)在的孩子個(gè)子長得飛快,轉(zhuǎn)眼之間比你高了,如果沒有講臺(tái)將自己墊高那么一二十公分,自己隨時(shí)都得仰視他們。不知不覺,問...
    土豆哦閱讀 206評論 0 3
  • 我曾以為,愛情就是我以真心對你,包容你的一切,甘愿為你平凡,你就必定會(huì)回以真情相待。 過了這么久,我才明白,我...
    喵樂喲丶閱讀 186評論 0 0
  • 我們在生命中會(huì)愛上一些人,因?yàn)楦鞣N各樣的緣由,未必能走到一起。但這并不妨礙我們?nèi)?,其?shí)也沒什么能妨礙我們?nèi)邸V?..
    刀子ABC閱讀 353評論 4 2

友情鏈接更多精彩內(nèi)容