Rumah  >  Artikel  >  pembangunan bahagian belakang  >  thinkphp5中如何删除数据库以及同时上传到服务器上的文件

thinkphp5中如何删除数据库以及同时上传到服务器上的文件

不言
不言asal
2018-08-11 17:06:222325semak imbas

本篇文章给大家带来的内容是关于thinkphp5中如何删除数据库以及同时上传到服务器上的文件,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在TP5中怎样同时删除数据库和上传到服务器上的文件:

模型中定义方法如下

<?php

namespace app\admin\model;
use think\Model;

class Pic extends Model
{ 
  
	public function unlink($path)
	{
		return  is_file($path) && unlink($path);
	}

}

然后在控制器中调用你的方法,建议$path在控制器中用绝对路径,

在控制器中引入空间类元素:

use think\File;
use app\admin\model\Pic as PicModel;//防止类名字重复报错,起一个别名

然后在方法里实例化,然后调用方法即可:

             public function del()
	    {		
	       $id=input(&#39;id&#39;);//返回的结果为获取的id
	       $lunbotu=db(&#39;lunbotu&#39;)->find($id);//获取一条数据,这里可以dump()数据,返回结果为数组,访问数组中文件的存放信息的字段,这里是Pic
	       $path=&#39;../public/static/uploads/&#39;.$lunbotu[&#39;Pic&#39;];//定义文件存放的路径
	       $unlink=new PicModel();//实例化
		if($unlink->unlink($path) && db(&#39;lunbotu&#39;)->delete(input(&#39;id&#39;)))
		{
		    return redirect(&#39;pic&#39;);//重定向到你想要的界面
		}
		else
		{
	        	$this->error(&#39;删除轮播图失败&#39;);
		}
	    }

 相关推荐:

PHP中迭代器以及生成器的分析以及优缺点的介绍

thinkphp5中belongsToMany() 模块名称的命名问题解决

Atas ialah kandungan terperinci thinkphp5中如何删除数据库以及同时上传到服务器上的文件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn