2

拡張子が.jpgのみの一時フォルダ内のファイルを削除するにはどうすればよいですか。

これが私が試したことです。

unlink("../httpdocs/Temp/*.jpg);
4

4 に答える 4

13

たとえば、glob関数をパターンに適用する必要があります。

unlink glob "../httpdocs/Temp/*.jpg";

これについては、リンク解除グロブのドキュメントで説明されています。リンク解除自体は、処理するファイルのリストを想定しています。glob関数は、ドキュメントを引用します。

リストコンテキストでは、標準のUnixシェル/ bin / cshが行うような、EXPRの値に対するファイル名展開の(おそらく空の)リストを返します。

于 2012-09-27T20:46:45.340 に答える
5

マーティン・クレイトンは良い答えを出しました。失敗したファイルの削除に対して適切な警告を出すことは良い考えかもしれませんが、その場合、ループは次のリスト形式を使用するよりも優れていますunlink

unlink or warn "$_: $!" for glob "../httpdocs/Temp/*.jpg"
于 2012-09-27T20:58:03.977 に答える
2

あなたはこれを試すことができます..あなたはglobファイルを削除するために使用する必要があります..

chdir "../httpdocs/Temp"
unlink glob "*.jpg"
于 2012-09-27T20:48:12.720 に答える
0

リストコンテキストでglobを使用すると、デンタリーの数によってはメモリ消費量が増える可能性があるため、whileループ(スカラーコンテキスト)で操作することをお勧めします。

while( my $dentry = <../httpdocs/Temp/*.jpg> ) {
    unlink $dentry or die( "Couldn't delete the $dentry file: $!" );
}
于 2018-08-30T04:51:14.407 に答える