従来のリフレを超えたリフレ
ヒザが痛い
人に起こりがちな、ヒザ周りの張りや冷え。
そこを揉みほぐすことで、体のバランスを整え、
ヒザに集中していた負担を軽く
します。
このようにリフレクソロジーのお店では、多くのお客様の足を揉ませていただいた経験を活かし、
従来のリフレクソロジーの範疇を超えた
、お一人お一人の状態に適したリフレクソロジーを、ご提供させていただいております。
Webサーバー上の消せないファイルを消す
PHPプログラムのバグなどにより、Webサーバー上にできてしまった、消せないファイルを消すための、PHPプログラムです。
先日、自作のPHPプログラムを作っていたとき、そのPHPプログラムにバグがあり、ファイルに書き出すつもりだった文字列を名前にしたファイルが、Webサーバー上にできてしまいました。
しかも、その文字列には、改行文字などの、プログラムを制御するための文字が含まれていたため、普段使っているFTPクライアントを始め、コマンドラインのFTPクライアントや、レンタルサーバーが用意してくれているWeb操作のFTPクライアントでも、そのファイルにアクセスすることができませんでした。
なので、これはもう、レンタルサーバーの管理者に依頼して、そのファイルを消してもらうしかないと思ったのですが、、、
ふと、PHPプログラムで作られたファイルなら、PHPプログラムで消せるかもと思い作ったのが、このPHPプログラムの原型になります。
結果、私の環境では問題なく動き、目的を達成してくれましたので、同じようなトラブルでお困りの人のために、このPHPプログラムに、簡単なインタフェースを付けて、配布させてもらいますが、、、
ただ、いかんせん、個人が個人のために作ったPHPプログラムですので、様々な環境でのテストはできていません。
なので、あくまで各自の責任のもとで使っていただきたいのですが、もし動作や操作に問題があるようでしたら、できる限り改善したいと思いますので、サポートまで、ご連絡頂けたらと思います。
使い方
1 以下のソースコードをコピーして、PHPファイルにペーストし、適当な名前(deletefile.phpなど)で保存してください。
2 PHPファイルを、復旧したいファイルと同じディレクトリに入れてください。
3 Webブラウザーから、PHPファイルにアクセスしてください。
4 消せないファイルを消したいときは5以降を、消せないファイルの名前を変えたいときは7以降を実行してください。
5 消したいファイルの下にある『デリート』ボタンを押してください。
※確認などは表示されませんので、大切なファイルを消さないように、よく確認してから、ボタンを押してください。
※消したいファイルがディレクトリの場合、そのディレクトリの中のファイルも同時に消えます。
6 ファイルが消えます。9以降を実行してください。
7 名前を変えたいファイルの下にあるテキストフィールドに、新しいファイル名を入力して、『リネーム』ボタンを押してください。
8 ファイルの名前が変わります。9以降を実行してください。
9 さらに、同じディレクトリに、復旧したいファイルがあるときは、4以降を実行してください。
10 PHPファイルを消してください。
ソースコード
<?php
	if(array_key_exists("renamefile",$_POST))
	{
		if(array_key_exists("newfilename",$_POST)&&$_POST["newfilename"]!="")
		{
			rename(mb_decode_numericentity($_POST["filename"],array(0,0x10FFFF,0,0x10FFFF)),$_POST["newfilename"]);
		}
	}
	elseif(array_key_exists("deletefile",$_POST))
	{
		deletefile(mb_decode_numericentity($_POST["filename"],array(0,0x10FFFF,0,0x10FFFF)));
	}
	print "<!DOCTYPE html>";
	print "<html lang=ja>";
		print "<head>";
			print "<meta charset=UTF-8>";
			print "<title>";
				print "Webサーバー上の消せないファイルを消す";
			print "</title>";
		print "</head>";
		print "<body>";
			$files=scandir('.');
			$color=0;
			$index=0;
			while($index<count($files))
			{
				if($files[$index]!='.'&&$files[$index]!='..')
				{
					print "<form method=post>";
						print "<input type=hidden name=filename value=".htmlspecialchars(mb_encode_numericentity($files[$index],array(0,0x10FFFF,0,0x10FFFF))).">";
						if($color==0)
						{
							print "<div style=margin:0.5%;padding:1%;background-color:#eee;>";
						}
						else
						{
							print "<div style=margin:0.5%;padding:1%;background-color:#ddd;>";
						}
							print "<div>";
								print $files[$index];
							print "</div>";
							print "<div>";
								print "<input type=text name=newfilename>";
								print "<button type=submit name=renamefile>";
									print "リネーム";
								print "</button>";
							print "</div>";
							print "<div>";
								print "<button type=submit name=deletefile>";
									print "デリート";
								print "</button>";
							print "</div>";
						print "</div>";
					print "</form>";
					$color=($color+1)%2;
				}
				$index=$index+1;
			}
		print "</body>";
	print "</html>";
	function deletefile($filename)
	{
		if(is_dir($filename))
		{
			$files=scandir($filename);
			$index=0;
			while($index<count($files))
			{
				if($files[$index]!='.'&&$files[$index]!='..')
				{
					deletefile($filename.'/'.$files[$index]);
				}
				$index=$index+1;
			}
			rmdir($filename);
		}
		else
		{
			unlink($filename);
		}
	}
?>
バージョン履歴
2018年11月22日
・初版
2018年11月26日
・ファイルを消すだけでなく、ファイルの名前を変えることもできるようにしました。これにより、ファイルを消さずに、復旧できるようになりました。
・ファイルリストに、色や余白を付けて、見やすくしました。
サポート
このPHPプログラムは、あくまで各自の責任のもとで使っていただきたいのですが、もし動作や操作に問題があるようでしたら、できる限り改善したいと思いますし、また、各種お問い合わせに対しても、できる限りお応えしたいと思いますので、、、
ご意見、ご質問、ご要望などありましたら、ブログのコメントか、Emailにて、ご連絡頂けたらと思います。