tp5 删除上传的原文件出现权限问题
来源:互联网 发布:国外通用航空软件 编辑:程序博客网 时间:2024/06/05 01:07
tp5关于对上传文件的操作中,根据项目的业务需求,将上传的图片进行缩略或裁剪后,保存缩略图并需要删除原图片。此时相信很多朋友在删除原图时就遇到了权限这个问题!
权限如果有问题,我们想到的肯定是修改文件的权限了。但是我们尝试了chmod()函数来修改权限仍旧是删除不了,还是权限问题!
通过查找各种资料发现,有些朋友的解决办法是,先将原图片的存储路径保存到数据库中,然后取出再删! 但是这样增加了数据库的运行,而且表中还必须增加原图存储路径的字段。所以我个人也不建议用这种方式。
通过翻找tp5框架源码发现,File.php类文件中也没有删除文件的方法或unlink(),在Thinkphp/library/think/catch/driver/File.php中我们也发现unlink()方法是私有的,调用会报错!
后面个人经过尝试,发现,在另外一个运行周期内对原图进行删除就不存在权限的问题了!
所以我的解决方式是:
1.先在添加上传文件的方法中,将原图的路径保存到session中(避免保存到表中,增加数据库操作压力)。
2.图片上传、缩略处理、保存路径、保存表单信息成功后,我们即会跳转到列表页或者其他页面。页面跳转,即此运行周期结束!
3.跳转至下一个页面(即进行下一个运行周期了),进行下一个运行周期开始时,后台控制器方法中需要做一些处理获取数据并显示到模板,呈现下一页的画面!所以我们可以在此方法中首先取出存在session中的原图路径,判断路径是否存在,存在即通过chmod() 设置原图的权限,并进行删除!
注意:删除原图后因为session中存储的原图路径已经没有用了,即删除此session值,同时删除用于交换路径的变量!
- tp5 删除上传的原文件出现权限问题
- fileuploadfield 上传原文件名及原文件类型的取法
- tp5简单的图片上传
- tp5的URL问题
- 在mac下配置tp5,出现文件读写权限的问题解决办法
- IIS下载一直是原文件的问题
- TP5上传
- tp5删除
- 请教:oa办公问题 上传word文档后,通过ie阅读,再修改后覆盖服务器端的原文件
- java 编码上传删除HDFS文件中的的用户名权限问题
- TP5的URL大小写问题
- TP5的模板设置问题
- tp5分页遇到的问题
- 基于tp5文件上传到七牛云的插件
- 上传图片出现的问题
- 图片上传出现的问题
- TP5使用phpmailer出现的错误
- bootstrap File Input 多文件上传插件使用记录(二)删除原文件
- Retrofit2.0的简单使用 (包含Gson)
- Linux命令行查看剩余空间
- Delphi中常用字符串处理函数
- 关于<a>标签的基本用法和特殊用法
- 【前端】vue-router配置title
- tp5 删除上传的原文件出现权限问题
- 用Construct2 制作小游戏
- 1075. 链表元素分类(25)
- DBUtils 例用例子
- Ubuntu 14.04首次进入系统黑屏+更换显卡驱动 解决方案
- 环境搭建之mysql主从配置
- opencv的第一份代码,及其makefile通用格式
- 05-Descriptive/Inferential Statistics Definition
- JVM内存区域模型