laravel中图片的删除
laravel中图片的删除
一、总结
一句话总结:
laravel里面删除的话还是建议用Storage的delete方法,不建议用原生php的unlink方法,不然没找到文件可能会报异常
二、laravel删除图片
转自或参考:laravel删除图片
https://blog.csdn.net/weixin_39815001/article/details/84669705
/**
* 删除信用卡
* @param Request $request
* @return array|\Illuminate\Http\JsonResponse
* @throws \App\Exceptions\CustomException
*/
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().'.'.$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");
laravel中图片的删除的更多相关文章
- Laravel从模型中图片的相对路径获取绝对路径
在模型product.php中增加以下方法.数据库图片字段为image.存储的图片相对路径 public function getImageUrlAttribute() { // 如果 image 字 ...
- Laravel中的日志与上传
PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...
- ASP.NET MVC图片管理(删除)
上星期有写了一篇<ASP.NET MVC图片管理(上传,预览与显示)>http://www.cnblogs.com/insus/p/4620420.html 它只实现了上传功能,即时预览以 ...
- cron以及在laravel中使用cron
yum install vixie-cron yum install crontabs /bin/systemctl restart crond.service #启动服务 /bin/systemct ...
- Laravel中的队列处理
Laravel中的队列处理 队列介绍 为什么要有消息队?这里先对其进行一个简单的介绍,方便还不了解的同学理解.在面向对象里,有一个很简单的概念--消息传递,而消息队列就可以在它上面扩展一下,把它说的更 ...
- 在Laravel中一步一步创建Packages
首先要看一下Laravel官方文档,这是最新4.2的文档,假设想看中文的话点击此处,基本一样.这个github上的库setup-laravel4-package,也是一步一步介绍怎样创建一个包.并关联 ...
- 【社交系统研发日记】如何在 Laravel 中 “规范” 的开发验证码发送功能
顺便发个小通知:7月15日ThinkSNS+开源版发布,同时非开源的APP也走出内测阶段,体验二维码也全面发布体验. 什么是ThinkSNS ? ThinkSNS(简称TS),一款全平台综合性社交系统 ...
- Laravel 中缓存驱动的速度比较
缓存是web开发中重要的一部分,我相信很多人和我一样,经常忽略这个问题. 随着工作经验的累积,我已经意识到缓存是多么的重要,这里我通过 Scotch 来解释一下它的重要性. 通过观察发现,Scotch ...
- Laravel 中使用 JWT 认证的 Restful API
Laravel 中使用 JWT 认证的 Restful API 5天前/ 678 / 3 / 更新于 3天前 在此文章中,我们将学习如何使用 JWT 身份验证在 Laravel 中构建 r ...
随机推荐
- Http状态吗504问题复盘
原因分析:504错误一般与nginx.conf配置有关,主要参数有:fastcgi_connect_timeout.fastcgi_send_timeout.fastcgi_read_timeout. ...
- java程序,在windows下设置为开机自启动
1.制作可运行jar包 2.设置开机自动,后台运行,确保不关 一下这几个方法是我试过的,由于有不同的问题,以后慢慢总结 (1).制作bat文件,放在"启动"里面 (2).设置组策略 ...
- websocket趣说_转
websocket协议:https://tools.ietf.org/html/rfc6455 作者:Ovear链接:https://www.zhihu.com/question/20215561/a ...
- systemd_journal_no_entries问题解决
问题: #journalctl Journal file /var/log/journal/410/system@0.journal~ uses an unsupported feature, ign ...
- (Linux基础学习)第二章:CentOS7.4安装教程
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 ...
- 利用Python openpyxl操作Excel
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = ...
- Java精通并发-wait与notify方法案例剖析与详解
在上一节中对Object的wait.notify.notifyAll方法进行了总结,这次举一个具体案例来进行巩固,题目如下: 编写一个多线程程序,实现这样的一个目标: 1.存在一个对象,该对象有一个i ...
- linux系统编程综合练习-实现一个小型的shell程序(四)
上节中已经对后台作业进行了简单处理,基本上要实现的功能已经完了,下面回过头来,对代码进行一个调整,把写得不好的地方梳理一下,给代码加入适当的注释,这种习惯其实是比较好了,由于在开发的时候时间都比较紧, ...
- rocketmq那些事儿之入门基础
分布式消息队列中间件作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性,其复杂性可见一斑,作为核心组件,有必要去深入了解学习 前言 分布式消息队列中间件主要具有以下优势: 削峰 ...
- TODO 竞品分析方法——关于导航评测的一些笔记
参考:移动App性能评测与优化 chapter4讲了地图怎么测,虽然不测地图,但是里面有关竞品分析的部分写得非常好,很多解决方案真的很精彩.记录一下. 我之前的竞品分析测试,通常是很简单的竞品数据层面 ...