2017-09-11 15 views
0

내가하려는 것은 이러한 유형의 확장자 만 포함하는 파일을 삭제하는 것입니다. PHP에서 이러한 유형의 확장자를 가진 파일을 삭제하는 방법은 무엇입니까?

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

그래서 지금은 만 c.php,d.php2을 삭제하려면,의 폴더 Images/은 다음 파일이 포함되어 있다고 가정 해 봅시다. 단일 단계 또는 아이디어로이를 수행 할 수있는 방법이 있습니까?

참고 :이 경우, 나는 파일 또는 확장의 정확한 이름을 모른다.

은 사전에 감사합니다.

+1

디렉토리를 반복하여 각 파일 이름을 정규식으로 검사하여 패턴이 있다고 가정합니다. – chris85

+0

안녕하세요 chris, 폴더에 1000 개 이상의 이미지가 있고 매 시간마다 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"; 
} 
?> 

모든 텍스트 파일을 제거하려면 다음과 같이 사용할 수 있습니다.