Remove all file in folder trong php

Đây là hàm xóa toàn bộ file trong một folder. Ví dụ bạn có folder A và trong folder  A bạn không biết số lượng hình ảnh là bao nhiêu thì có thể sử dụng hàm dưới đây để xóa.

function removeAllFile($dir){
    if (is_dir($dir))
    {
        $structure = glob(rtrim($dir, "/").'/*');
        if (is_array($structure)) {
            foreach($structure as $file) {
                if (is_dir($file)) recursiveRemove($file);
                else if (is_file($file)) @unlink($file);
            }
        }
    }
}

Cách sử dụng:

removeAllFile('./a'); // xóa hết hình trong folder a

Điểm yếu của hàm này là nếu số lượng file quá lớn thì sẽ chạy không ổn định vì chương trình PHP sẽ bị tràn bộ nhớ, vì vậy bạn có thể kết hợp với script trên server để xóa. Tuy nhiên nếu bạn biết cách phân chia folder thì mình nghĩ hoàn toàn có thể sử dụng hàm này được. Ví dụ với mỗi bài viết thì bạn đặt hình trong một folder, sau đó nếu xóa bài viết thì xóa luôn hình trong folder đó.

Các loại function khác

Nguồn: freetuts.net