ホームページ  >  記事  >  バックエンド開発  >  thinkphp5でサーバーにアップロードされたデータベースとファイルを同時に削除する方法

thinkphp5でサーバーにアップロードされたデータベースとファイルを同時に削除する方法

不言
不言オリジナル
2018-08-11 17:06:222316ブラウズ

この記事の内容は、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 のイテレーターとジェネレーターの分析とその長所と短所の紹介rrreee

# thinkphp5belongsToMany() モジュール名 名前付けの問題の解決

#

以上がthinkphp5でサーバーにアップロードされたデータベースとファイルを同時に削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。