子宝どっとこむ

 

 文字化けして消えないファイルの削除

当サイトを参考にされた方の何人かは、「文字化けして消えないファイル」が生成されてしまって悩まれていらっしゃるのではないか」と思うと、非常に申し訳なく思います。

というのは、『PHPで軽量化!』において$MTCategoryLabel$を利用したファイルの生成方法を説明したからです。

本日、文字化けファイルを作らない方法を知りましたので、そちらについては『PHPで軽量化!』の追記部分をご参照ください。

ここでは、せっかく文字化けファイルを生成しないで済むようになったにもかかわらず、過去作った文字化けファイルが消せない現象を解決する方法を提供します。

FFFTPでは消せない文字化けファイルが存在すると思います(割と比率が高い)。これは、日本語をもとにファイルが生成された場合に頻発する現象で、なぜこのような現象が起こるかはぐぐってもらえれば、大体理解できますのでここでは説明しませんが、こうしたファイルはcgiで消せます。

適当に『dell.cgi』というファイルを作り、そこに

#!/usr/bin/perl
system("rm -rf /home/sites/lolipop.jp/○○○/*.inc");
exit;

と記載します。
『#!/usr/bin/perl』の部分はサーバーによっては『#!/usr/local/bin/perl』の場合がありますので、他のcgiファイルの一行目を確認してください。

パスを指定している部分はフルパスで記載します。MovableTypeを利用している方であれば、設定を見ればすぐ分かるでしょう。

問題はファイル名で、文字化けしているので正確なファイルパスが記載できないのですが、私の場合、文字化けしているファイルは全て拡張子が『inc』でしたので、ワイルドカードの『*』で消しました。

この『dell.cgi』をcgiが稼動可能な『mt』ディレクトリあたりにアップロードし、属性を『700』とかに変更して実行ファイルとし、実行します。実行すると『500エラー』が出るかと思いますが、ちゃんと消えていますので安心してください。FFFTPで消えていることを確認したうえで、dell.cgiを削除してください。

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

コメント用フィード