07thinkphp 第4天 删除文件

视图文件

 

 服务器端处理:路径一定要正确

路由文件

 

贴代码了

路由

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

use think\facade\Route;

Route::group('admin',function (){
    //登陆
    Route::get('login','@admin/login/index')->name('admin/login/index');
    Route::post('login','@admin/login/LoginHandler')->name('admin/login/index');

    //文件上传界面
    Route::get('up','@admin/up/index')->name('admin/up/index');
    //服务器端接收文件
    Route::post('upload','@admin/up/upload')->name('admin/up/upload');
    //服务器端删除文件
    Route::delete('del','@admin/up/del')->name('admin/up/del');
});




 

控制器

<?php

namespace app\admin\controller;

use think\Controller;
use think\Request;


class Up extends Controller
{
    //上传界面
    public function index(){
        return view('admin@up/index');
    }

    //接收文件
    public function upload(Request $request){
        $file = $request->file('pic');
        // 移动到框架应用根目录/uploads/ 目录下
        $info = $file->move('./uploads');
       if($info){
            $savename = '/uploads/'.str_replace('\\','/',$info->getSaveName());
           return json(['status'=>0,'msg'=>$savename]);
       }else{
           return json(['status'=>1,'msg'=>$file->getError()]);
       }
    }

    //删除文件
    public function del(Request $request){
        $img = dirname(dirname(dirname(__DIR__))).'/public'.$request->delete('img');
        //echo $img;
        //echo $request->env()['ROOT_PATH'];
        $data = ['status'=>1,'msg'=>'删除失败'];
        if(unlink($img)){
            $data = ['status'=>0,'msg'=>'删除成功'];
        }
        return json($data);
    }
}

 

视图文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件上传</title>
    <link rel="stylesheet" type="text/css" href="/static/webuploader/webuploader.css">
    <style>
        .box{
            position: relative;
            width: 200px;
        }
        .box p{
            position: absolute;
            right: 10px;
            top: -10px;
            z-index: 100;
            color: whitesmoke;
            background-color:red;
            cursor: pointer;
        }
        .box p:hover{
            text-decoration: underline;
            background-color: #00B83F;
        }
    </style>
</head>
<body>
<div class="box">
    <img src="#" id="avatar" style="width: 200px;display: none;">
    <!--<img src="/uploads/20191115/3fc4b921c102607dabe00203872fb3a2.jpg" id="avatar" style="width: 200px;">-->
    <p id="del" style="display:none;">删除</p>
</div>
<div id="picker">选择文件</div>

<script src="/static/js/jquery.min.js"></script>
<script type="text/javascript" src="/static/webuploader/webuploader.js"></script>

<script>
    var uid = '1';
    var uploader = WebUploader.create({

        // swf文件路径
        swf:'/static/webuploader/js/Uploader.swf',

        // 文件接收服务端。
        server: '{:url("admin/up/upload")}',

        // 选择文件的按钮。可选。
        // 内部根据当前运行是创建,可能是input元素,也可能是flash.
        pick: '#picker',

        // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
        resize: false,

        //自动上传
        auto:true,

        //设置文件上传域的name
        fileVal:'pic',

        //传递请求额外参数
        formData:{
            uid:uid
        }
    });

    //回调事件
    uploader.on( 'uploadSuccess', function($file,response) {
        if(response.status == 0){
            $('#avatar').attr('src',response.msg).show('show');
            $('#del').show();
        }
    });

    //绑定点击删除事件
    $('#del').click(function(){
        let img = $(this).prev().attr('src');

        //发送ajax
        $.ajax({
            url:'{:url("admin/up/del")}',
            type:'delete',
            data:{img},
            success: ret =>{
                // console.log(ret);
                if(ret.status == 0)
                {
                    alert(ret.msg);
                    $('#avatar').hide();
                    $('#del').hide();
                }
            }
        });
    });
</script>
</body>
</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值