海豚php上傳音頻方法(引用 layui的 js 與 css)

1.html代碼

<div class="layui-upload" >
<div>
    <label class="col-xs-12" for="{$form[type].name}" style="margin-left: 13px;">{$form[type].title|htmlspecialchars}</label>
    <button type="button" class="layui-btn uploadAudio"  id="upload_list_{$form[type].name}" style="margin-bottom: 11px;background-color:#00b7ee;margin-left: 31px;">
        <i class="layui-icon"></i>上傳音頻</button>
    <div class="layui-upload-list">
        <input type="hidden" name="{$form[type].name}" data-type="audio" data-size="{$form[type]['size']|default=0}" id="{$form[type].name}" value="{$form[type].value|default=''}">
        <p id="demoText"></p>
    </div>
</div>

<div>
    <audio class="tag_audio" controls="controls" src="{$form[type].value|default=''}" id="src_{$form[type].name}" style="margin-bottom: 11px;width: 300px;height: 59px;margin-left: 28px;"></audio>
</div>
</div>
<input type="hidden" class="opt" value="{$form[type].name}">

2.js代碼


$(".tag_audio").hide()

layui.use('upload', function(){
    var $ = layui.jquery,
        upload = layui.upload;
    var  li=[]
        ,input_file = $('.layui-upload-list').find('input')
        ,size = input_file.data('size');
    for (var j=0; j<$(".opt").length;j++ ){
        li.push($(".opt").eq(j).val());
    }
    for (var i=0;i<li.length;i++){
        console.log(input_file.data('type'))
        upload.render({
            elem: '#upload_list_'+li[i]
            ,url: "/admin.php/admin/ajax/uploadAudio"
            ,data:{i:i}
            ,accept: 'audio' //音頻
            ,size:size
            ,done: function(res){
                if(res.code > 0){
                    return layer.msg('上傳失敗');
                }
                //上傳成功
                if(res.code == 0){
                    var fileName=res.data.src;
                    $("#"+li[res.i]).val(fileName)
                    $("#src_"+li[res.i]).attr("src",fileName);
                    $("#src_"+li[res.i]).show()
                    $("#src_"+li[i]).load();
                    // $.toast("音頻上傳成功");
                }
            }
        })
    }
});

php代碼

    //上傳音頻
    public function uploadAudio(Request $request)
    {
        $i = input('post.i');
        //處理上傳
        $file=$request->file("file");
        if ($file){
            $info = $file->move($_SERVER['DOCUMENT_ROOT'].'/uploads/audio');
            if ($info){
                // 成功上傳後 獲取上傳信息
                $url=$info->getSaveName();
                $data=["src"=>absolute_path().'/uploads/audio/'.$url];
                $msg= [
                    "code"=>0,
                    "msg"=>'ok',
                    "data"=>$data,
                    'i'=>$i
                ];
                exit(json_encode($msg));
            }else{
                // 上傳失敗獲取錯誤信息
                return $this->error($file->getError());
            }
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章