ThinkPHP キャッシュをクリア/フォルダー上のすべてのファイルを削除

WBOY
リリース: 2016-06-13 13:15:33
オリジナル
1249 人が閲覧しました

ThinkPHP キャッシュクリア/フォルダー内のすべてのファイルを削除

今日は ThinkPHP キャッシュクリア関数を作成しました。インターネット上で公開されており、比較的簡単な記述方法がありますが、組み込みクラスです。このクラスを見つけたとき、私は長い間探していたので、PHP を使用してフォルダー内のすべてのファイルを削除し、手間をかけずに次のコードを貼り付けました。

/*このメソッドは、フォルダー内のすべてのファイルを削除するために使用されるパブリック メソッドです
* $path はファイル
のパスです * $fileName フォルダー名
* */
パブリック関数 rmFile($path,$fileName){
//スペースを削除
$path = preg_replace('/(/){2,}|{\}{1,}/','/',$path); 使用 $path.= $fileName;
//このファイルがファイル ディレクトリであるかどうかを判断します
if(is_dir($path)){
// ファイルを開きます if ($dh = opendir($path)){
””””” //ファイルディレクトリ名を横断する
while(($ file = readdir($ dh))!= false){
// 1 つずつ削除
を通して } 同時に良いスタートを切っている clositir($ dh);
                                                                                                      }
}

//キャッシュを 1 つずつ削除します
パブリック関数cache(){

//フロントデスクは ajax get を使用して送信します。ここで最初に判断します
if($_GET['type']){

//送信された値 (つまり、削除するフォルダーの名前) を取得します


$type=$_GET['type'];


//ファイルの絶対パスを取得します


$abs_dir=dirname(dirname(dirname(dirname(__FILE__))));

//削除するフォルダー内のファイルと結合します

$pa=$abs_dir.'AdminRuntime\';


//上に書いたメソッドを呼び出します

$this->rmFile($pa,$type);


//プロンプトメッセージに戻ります

$this->ajaxReturn(1,'正常にクリアされました',1);

}else{
$this->display();

}

}

//ワンクリックですべてのキャッシュをクリア
パブリック関数 allrun(){

////フロントデスクは ajax get を使用して送信します。ここで最初に判断します
if($_GET['type']){

//渡された値を取得します

$type=$_GET['type'];

//渡された値を切り取ります。「-」で切り取りました

$name=explode('-', $type);

//ループを容易にするために切断ストリップの数を取得します


$count=count($name);


//上記のメソッドをループ内で呼び出します

の ($i=0;$i

//ファイルの絶対パスを取得します

$abs_dir=dirname(dirname(dirname(dirname(__FILE__))));

//結合パス
$pa=$abs_dir.'AdminRuntime\';

//フォルダー内のすべてのファイルを削除するメソッドを呼び出します
$this->rmFile($pa,$name[$i]); }

//すぐに情報を提供します


$this->ajaxReturn(1,'正常にクリアされました',1);

}else{
$this->display();
}
}

フロントページは非常にシンプルで、重要なコードはここに記載されています

html ファイル

//これは ajax get 経由で送信されます


<スクリプトタイプ="text/javascript">
$(関数(){
$('#button').click(function(){
If(confirm("テンプレート キャッシュ ディレクトリをクリアしてもよろしいですか?")) {
var $type=$('#type').val();
var $mess=$('#mess');
$.getJSON('__URL__/cache',{type:$type},function(json){
If(json.status==1){
$mess.slideDown(3000,function(){
$mess.css('color:red'); }).html(json.info);
}else{
$mess.slideDown(3000,function(){
$mess.css('color:red'); }).html(json.info);
}
});
}else{
false を返します。                                                                                  });
});


<フォームアクション=""メソッド="get">




//重要なのは、この隠しフィールドのデフォルト値は、フォルダーの内容を削除するフォルダーの名前であるということです。




&lt; td id = "smes"&gt;&lt;/td&gt;
                                                                                                                                                                                                                 

//ワンクリックですべてクリア

<フォームアクション=""メソッド="get">

                                                                                                         

//デフォルト値はいくつかのフォルダーの名前を連結することであり、提出方法は上記と同じです

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       




関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!