06/04/2021, 14:46

Hàm Remove all file in folder trong PHP - PHP Function

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)) ...

Đâ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 đó.

Nguồn: Zaidap.com.net

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0