• laravel中图片的删除


    laravel中图片的删除

    一、总结

    一句话总结:

    laravel里面删除的话还是建议用Storage的delete方法,不建议用原生php的unlink方法,不然没找到文件可能会报异常

    二、laravel删除图片

    转自或参考:laravel删除图片
    https://blog.csdn.net/weixin_39815001/article/details/84669705

    /**
     * 删除信用卡
     * @param Request $request
     * @return array|IlluminateHttpJsonResponse
     * @throws AppExceptionsCustomException
     */
    public function modifyCreditCardImg(Request $request)
    {
        $valid = Validator::make($request->all(), [
            'id' => 'required|string|size:36'
        ]);
        if ($valid->fails()) {
            return array(
                'code' => ExceptionErrorCode::CODEMUST,
                'message' => $valid->errors()->first(),
                'data' => $valid->errors()->first()
            );
        }
        $credit_card = CreditCardImages::where(['id' => $request->id])->get()->first();
        Storage::delete(str_replace('storage', 'public', $credit_card->image_positive));
        Storage::delete(str_replace('storage', 'public', $credit_card->image_back));
        CreditCardImages::where(['id' => $request->id])->delete();
        return responseMessage([], ExceptionErrorCode::OPERATOR_OK);
    }
    

    三、laravel 图片上传和删除

    转自或参考:laravel 图片上传和删除
    https://blog.csdn.net/minose/article/details/79919649

    记录一下过程,使用php原生的方法,上传图片后把图片的路径存储到了数据库。

    $file =$request->file('pic');
    $allowed_extensions = ["png","jpg","jpeg"];
    if ($file->getClientOriginalExtension() && !in_array($file->getClientOriginalExtension(), $allowed_extensions)) {
        return redirect()->back()->withInput()->withErrors("只允许上传.jpg .png .jpeg");
    }
    $path = 'storage/uploads/runner/';
    $extension = $file->getClientOriginalExtension();
    $fileName = str_random(10).'.'.$extension;
    $file->move($path,$fileName);
    $filePath = asset($path.$fileName);
    $runner->pic = $filePath;

    在删除的时候使用php的unlink("$path")方法,这里要注意的是 $path是laravel下public目录后的相对路径,需要对字符串进行拼接。

    $path = $runner->pic;
    $pos = strpos($path, 'storage');
    /*dd($pos);*/
    $path = substr($path,$pos,strlen($path));

    unlink("$path");

  • 相关阅读:
    [HAOI2015]树上操作(树链剖分)
    树链剖分——解决树上路径问题利器
    [CodeForces 833B] The Bakery(数据结构优化dp)
    [国家集训队]最长双回文串(马拉车)
    [国家集训队]拉拉队排练(Manacher)
    【ATcoder】AtCoder Beginner Contest 159 题解
    蒟蒻的数列[BZOJ4636](线段树)
    Manacher马拉车算法——解决最长回文子串问题
    HDU 1501 Zipper (记忆化搜索)
    HDU 1428 漫步校园 (dfs+记忆化搜索dfs)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11968644.html
Copyright © 2020-2023  润新知