2017-09-11 14 views
0

私がやっているのは、この種の拡張子だけを含むファイルを削除することです。PHPでこの種の拡張子を持つファイルを削除するには?

は今、私はのみc.php,d.php2を削除したいので

a.jpg 
b.jpeg 
c.php 
d.php2 
c.png 

、のフォルダImages/には、以下のファイルが含まれていましょう。単一のステップやアイデアでこれを行う方法はありますか?

注:この場合、私はファイルまたは延長の正確な名前がわかりません。

ありがとうございます。

+1

。 – chris85

+0

こんにちはクリス、フォルダに1000枚以上の画像があり、1時間ごとにcronを置くことに決めた場合、それは性能に影響しますか? –

+0

私はそうは思わない、私はそれを確認するためのテストを行うだろう。 – chris85

答えて

2

サブディレクトリから特定の拡張ファイルを削除するには、次の機能を使用できます。例:

<?php 
function delete_recursively_($path,$match){ 
    static $deleted = 0, 
    $dsize = 0; 
    $dirs = glob($path."*"); 
    $files = glob($path.$match); 
    foreach($files as $file){ 
     if(is_file($file)){ 
     $deleted_size += filesize($file); 
     unlink($file); 
     $deleted++; 
     } 
    } 
    foreach($dirs as $dir){ 
     if(is_dir($dir)){ 
     $dir = basename($dir) . "/"; 
     delete_recursively_($path.$dir,$match); 
     } 
    } 
    return "$deleted files deleted with a total size of $deleted_size bytes"; 
} 
?> 

次のようにすべてのテキストファイルを削除するには、あなたはそれを使用することができます:あなたはディレクトリを反復処理して、(あなたはパターンを持っていると仮定すると)一致の正規表現で、各ファイル名を確認することができます

<?php echo delete_recursively_('/home/username/directory/', '.txt'); ?> 
関連する問題