没有合适的资源?快使用搜索试试~ 我知道了~
yii2.0整合阿里云oss删除单个文件的方法
0 下载量 176 浏览量
2020-12-20
03:25:34
上传
评论
收藏 56KB PDF 举报
温馨提示
试读
2页
主要思路,在controller里边通过获得要删除的文件fileid,把fileid传递给model的deletefile方法进行处理,并返回处理结果。 在deletefile方法里边,先根据id找到对应的文件信息,然后删除数据里边的记录和阿里云oss里边的文件和本地的文件。 主要步骤如下: 1 首先是构建一个view视图,或者写一个ajax发送请求,此处代码略(让前端去写吧)。 2 在控制器里边接收参数,并转交给model。控制器UploadController.php里边的代码参考如下: /** * 根据fileid删除文件 * @return mixed 删除是否成功
资源详情
资源评论
资源推荐
yii2.0整合阿里云整合阿里云oss删除单个文件的方法删除单个文件的方法
主要思路,在controller里边通过获得要删除的文件fileid,把fileid传递给model的deletefile方法进行处理,并返回处理结果。
在deletefile方法里边,先根据id找到对应的文件信息,然后删除数据里边的记录和阿里云oss里边的文件和本地的文件。
主要步骤如下:
1 首先是构建一个view视图,或者写一个ajax发送请求,此处代码略(让前端去写吧)。
2 在控制器里边接收参数,并转交给model。控制器UploadController.php里边的代码参考如下:
/**
* 根据fileid删除文件
* @return mixed 删除是否成功
*/
public function actionDeletefile()
{
$res['error'] = 1; // 准备返回数据
Yii::$app->response->format = Response::FORMAT_JSON; // 设置返回格式
if (Yii::$app->request->isPost){ // 如果是post请求
$postdata = Yii::$app->request->post('fileid',0); // 从post里边获取文件id
if ($postdata==0){ // 如果文件id为0
$res['errmsg'] = '删除失败,请重试'; // 准备返回数据
return $res; // 返回结果
}
$model = new UploadForm(); // 实例化model
$delres = $model->deletefile($postdata); // 根据id调用deletefile方法
if ($delres['error']==0){ // 如果删除成功
$res['error'] = 0; // 准备返回信息
} else {
$res['errmsg'] = $delres['errmsg']; // 如果删除失败,准备返回信息
}
} else {
$res['errmsg'] = '非法请求'; // 主要考虑post请求,get请求请自行修改代码
}
return $res; // 返回删除结果
}
3 当controller把文件id转移给UploadForm.php以后,在deletefile方法里边进行删除。
/**
* 删除阿里云oss里存储的文件和数据库里边保存到文件上传信息
* @param $fileid 文件表里边的主键id
* @return boolean 删除是否成功
*/
public function deletefile($fileid)
{
$res['error'] = 1; // 1表示默认有错误。
$fileinfo = Yii::$app->db->createCommand('select ossfile,filePath,userid from file where id=:id')->bindParam(':id', $fileid)->queryOne();
// 根据主键从数据库里边查询文件的信息,至少要一个服务器文件的完整路径(用来删除服务器文件)和一个ossfile的名称(删除阿里云oss里边的文件)
if (count($fileinfo) > 0) { // 如果找到了文件的记录
// 这里边的验证可以更丰富一些,比如验证用户是否有权限删除该文件,文件是否属于该用户等等
$ossfile = $fileinfo['ossfile']; // 获取ossfile
$realfile = $fileinfo['filePath']; // 获取服务器上的文件
$owner = $fileinfo['userid']; // 获取上传图片用户的id
$operator = Yii::$app->user->id; // 获取删除图片的用户
if ($owner != $operator) { // 如果删除图片的用户不是上传的用户,报错并返回
$res['errmsg'] = '您删除的图片不存在';
return $res;
}
$trans = Yii::$app->db->beginTransaction(); // 开启事务
try {
weixin_38692928
- 粉丝: 6
- 资源: 913
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于SpringBoot+Vue3快速开发平台、自研工作流引擎源码设计.zip
- docker安装部署全流程
- 基于树莓派的人脸识别系统python源码+项目部署说明+超详细代码注释.zip
- Python和R爬取分析赶集网北京二手房数据.zip
- Python和R爬取分析赶集网北京二手房数据.zip
- Java知识体系最强总结(2021版).txt
- Python知识点Python知识点Python知识点Python知识点Python知识点PythonPython知识点.txt
- Java开发基于seetaface6的人脸识别(活体检测)的封装源码.zip
- JSP在线失物招领管理平台源码.zip
- JSP在线旅游美食展现管理系统源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0