Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

Ví dụ: tôi có một thư mục có tên là `temp 'và tôi muốn xóa hoặc xóa tất cả các tệp khỏi thư mục này bằng PHP. Tôi có thể làm điều này không?

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

DREFTYMAC

30.3k26 Huy hiệu vàng115 Huy hiệu bạc178 Huy hiệu đồng26 gold badges115 silver badges178 bronze badges

hỏi ngày 4 tháng 1 năm 2011 lúc 13:35Jan 4, 2011 at 13:35

2

$files = glob('path/to/temp/*'); // get all file names
foreach($files as $file){ // iterate files
  if(is_file($file)) {
    unlink($file); // delete file
  }
}

Nếu bạn muốn xóa các tệp 'ẩn' như .htaccess, bạn phải sử dụng

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

Daniel Ruf

7.43911 Huy hiệu vàng61 Huy hiệu bạc114 Huy hiệu đồng11 gold badges61 silver badges114 bronze badges

Đã trả lời ngày 4 tháng 1 năm 2011 lúc 13:43Jan 4, 2011 at 13:43

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

FloernfloernFloern

33K24 Huy hiệu vàng103 Huy hiệu bạc117 Huy hiệu đồng24 gold badges103 silver badges117 bronze badges

7

Nếu bạn muốn xóa mọi thứ khỏi thư mục (bao gồm cả thư mục con), hãy sử dụng kết hợp này là

array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );
5,
array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );
6 và
array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );
7:

array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );

Cuộc gọi này cũng có thể xử lý các thư mục trống (cảm ơn vì tiền boa, @mojuba!)

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

T.Todua

50.2K19 Huy hiệu vàng217 Huy hiệu bạc213 Huy hiệu đồng19 gold badges217 silver badges213 bronze badges

Đã trả lời ngày 20 tháng 11 năm 2012 lúc 8:10Nov 20, 2012 at 8:10

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

StichozastichozaStichoza

4.4432 Huy hiệu vàng22 Huy hiệu bạc23 Huy hiệu đồng2 gold badges22 silver badges23 bronze badges

7

Dưới đây là một cách tiếp cận hiện đại hơn khi sử dụng Thư viện PHP tiêu chuẩn (SPL).

$dir = "path/to/directory";
if(file_exists($dir)){
    $di = new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS);
    $ri = new RecursiveIteratorIterator($di, RecursiveIteratorIterator::CHILD_FIRST);
    foreach ( $ri as $file ) {
        $file->isDir() ?  rmdir($file) : unlink($file);
    }
}

aLx13

6885 Huy hiệu bạc15 Huy hiệu Đồng5 silver badges15 bronze badges

Đã trả lời ngày 3 tháng 7 năm 2014 lúc 21:40Jul 3, 2014 at 21:40

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

YamikoyamikoYamiko

5.0255 Huy hiệu vàng29 Huy hiệu bạc51 Huy hiệu Đồng5 gold badges29 silver badges51 bronze badges

3

foreach (new DirectoryIterator('/path/to/directory') as $fileInfo) {
    if(!$fileInfo->isDot()) {
        unlink($fileInfo->getPathname());
    }
}

Đã trả lời ngày 4 tháng 1 năm 2011 lúc 13:44Jan 4, 2011 at 13:44

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

JAKEPARISJAKEPARISJakeParis

10,9k3 Huy hiệu vàng38 Huy hiệu bạc65 Huy hiệu Đồng3 gold badges38 silver badges65 bronze badges

3

Mã này từ http://php.net/unlink:

/**
 * Delete a file or recursively delete a directory
 *
 * @param string $str Path to file or directory
 */
function recursiveDelete($str) {
    if (is_file($str)) {
        return @unlink($str);
    }
    elseif (is_dir($str)) {
        $scan = glob(rtrim($str,'/').'/*');
        foreach($scan as $index=>$path) {
            recursiveDelete($path);
        }
        return @rmdir($str);
    }
}

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

Đã trả lời ngày 4 tháng 1 năm 2011 lúc 13:45Jan 4, 2011 at 13:45

Poelinca Dorinpoelinca DorinPoelinca Dorin

9.4112 huy hiệu vàng37 Huy hiệu bạc43 Huy hiệu đồng2 gold badges37 silver badges43 bronze badges

$dir = 'your/directory/';
foreach(glob($dir.'*.*') as $v){
    unlink($v);
}

Đã trả lời ngày 4 tháng 1 năm 2011 lúc 13:45Jan 4, 2011 at 13:45

Poelinca Dorinpoelinca DorinHaim Evgi

9.4112 huy hiệu vàng37 Huy hiệu bạc43 Huy hiệu đồng45 gold badges213 silver badges220 bronze badges

Haim evgihaim evgi

121K45 ​​Huy hiệu vàng213 Huy hiệu bạc220 Huy hiệu đồng

exec('rm -f '. $absolutePathToFolder .'*');

Giả sử bạn có một thư mục với nhiều tệp đọc tất cả và sau đó xóa hai bước không phải là thực hiện. Tôi tin rằng cách thực hiện nhất để xóa các tệp là chỉ sử dụng lệnh hệ thống.

exec('rm -f -r '. $absolutePathToFolder .'*');

Ví dụ: trên Linux tôi sử dụng:

Hoặc điều này nếu bạn muốn xóa đệ quy mà không cần phải viết hàm đệ quySep 27, 2015 at 3:29

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

Các lệnh chính xác tương tự tồn tại cho bất kỳ HĐH nào được PHP hỗ trợ. Hãy nhớ rằng đây là một cách thực hiện các tệp. $ Absolutepathtofolder phải được kiểm tra và bảo mật trước khi chạy mã này và phải được cấp quyền.Dario Corno

Đã trả lời ngày 27 tháng 9 năm 2015 lúc 3:299 silver badges18 bronze badges

10

Dario Cornodario Corno

<?php
    if ($handle = opendir('/path/to/files'))
    {
        echo "Directory handle: $handle\n";
        echo "Files:\n";

        while (false !== ($file = readdir($handle)))
        {
            if( is_file($file) )
            {
                unlink($file);
            }
        }
        closedir($handle);
    }
?>

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

Đã trả lời ngày 4 tháng 1 năm 2011 lúc 13:44Jan 4, 2011 at 13:44

JAKEPARISJAKEPARISStampedeXV

10,9k3 Huy hiệu vàng38 Huy hiệu bạc65 Huy hiệu Đồng2 gold badges23 silver badges39 bronze badges

Mã này từ http://php.net/unlink:

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
0

Đã trả lời ngày 4 tháng 1 năm 2011 lúc 13:45

Poelinca Dorinpoelinca DorinJun 21, 2016 at 6:51

9.4112 huy hiệu vàng37 Huy hiệu bạc43 Huy hiệu đồngJoyGuru

Haim evgihaim evgi19 silver badges9 bronze badges

121K45 ​​Huy hiệu vàng213 Huy hiệu bạc220 Huy hiệu đồng

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
1

Giả sử bạn có một thư mục với nhiều tệp đọc tất cả và sau đó xóa hai bước không phải là thực hiện. Tôi tin rằng cách thực hiện nhất để xóa các tệp là chỉ sử dụng lệnh hệ thống.

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
2

Ví dụ: trên Linux tôi sử dụng:

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
3

Hoặc điều này nếu bạn muốn xóa đệ quy mà không cần phải viết hàm đệ quy

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
4

Các lệnh chính xác tương tự tồn tại cho bất kỳ HĐH nào được PHP hỗ trợ. Hãy nhớ rằng đây là một cách thực hiện các tệp. $ Absolutepathtofolder phải được kiểm tra và bảo mật trước khi chạy mã này và phải được cấp quyền.

Đã trả lời ngày 27 tháng 9 năm 2015 lúc 3:29Nov 20, 2015 at 7:08

Dario Cornodario CornoTofeeq

9549 Huy hiệu bạc18 Huy hiệu đồng1 gold badge21 silver badges18 bronze badges

1

Xem ReadDir và Unlink.

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
5

StampedExvStampedExvJul 17, 2014 at 13:31

2.6652 Huy hiệu vàng23 Huy hiệu bạc39 Huy hiệu Đồngtommy

Cách đơn giản và tốt nhất để xóa tất cả các tệp khỏi thư mục trong PHP5 bronze badges

0

Có mã nguồn này từ đây-http://www.codexworld.com/delete-all-files-from-folder-using-php/

https://gist.github.com/4689551

Đã trả lời ngày 21 tháng 6 năm 2016 lúc 6:51

Joygurujoyguru

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
6

1.72519 huy hiệu bạc9 huy hiệu đồng

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
7

Chức năng Unlinkr đã xóa tất cả các thư mục và tệp trong đường dẫn đã cho bằng cách đảm bảo nó không xóa tập lệnh.

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
8

$files = glob('path/to/temp/{,.}*', GLOB_BRACE);
9

Nếu bạn muốn xóa tất cả các tệp và thư mục nơi bạn đặt tập lệnh này thì hãy gọi nó như sauNov 19, 2015 at 5:51

Nếu bạn muốn chỉ xóa chỉ các tệp PHP thì hãy gọi nó như sau

array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );
0

Bạn cũng có thể sử dụng bất kỳ đường dẫn nào khác để xóa các tệpFeb 16, 2018 at 2:12

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );
1

Điều này sẽ xóa tất cả các tệp trong thư mục Home/User/Temp.Oct 29, 2018 at 13:27

Đã trả lời ngày 20 tháng 11 năm 2015 lúc 7:08Mehmet

Tofeeqtofeeq2 bronze badges

2.3631 Huy hiệu vàng21 Huy hiệu bạc18 Huy hiệu đồng

Một giải pháp khác: Lớp này xóa tất cả các tệp, thư mục con và tệp trong các thư mục phụ.

array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );
2

Đã trả lời ngày 17 tháng 7 năm 2014 lúc 13:31

TommytommyJan 25, 2019 at 15:27

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

665 huy hiệu đồngMAChitgarha

Đã đăng một lớp xử lý thư mục mục đích và thư mục chung để sao chép, di chuyển, xóa, tính toán kích thước, v.v., có thể xử lý một tệp hoặc một tập hợp các thư mục.2 gold badges29 silver badges37 bronze badges

0

Để sử dụng:

array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );
3

Để sao chép (hoặc di chuyển) một tệp hoặc một tập hợp các thư mục/tệp:Oct 17, 2014 at 12:57

Xóa một tệp đơn hoặc tất cả các tệp và thư mục trong một đường dẫn:tzi

Tính kích thước của một tệp hoặc một tập hợp các tệp trong một bộ thư mục:1 gold badge21 silver badges43 bronze badges

Đã trả lời ngày 19 tháng 11 năm 2015 lúc 5:51

array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );
4

Đối với tôi, giải pháp với

array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );
8 là tốt nhất và hoạt động như một sự quyến rũ. Với
array_map( 'unlink', array_filter((array) glob("path/to/temp/*") ) );
7, chức năng đã thất bại với một số kịch bản.Jun 1, 2021 at 16:27

Hướng dẫn delete all file in folder php - xóa tất cả các tập tin trong thư mục php

Làm thế nào để xóa tất cả các tệp trong thư mục PHP?

Php // Xóa tất cả các tệp và trình phụ từ chức năng thư mục deleteall ($ dir) {foreach (glob ($ dir. '/*') as $ file);Khác hủy liên kết ($ File);} rmdir ($ dir);}?>function deleteAll($dir) { foreach(glob($dir . '/*') as $file) { if(is_dir($file)) deleteAll($file); else unlink($file); } rmdir($dir); } ?>

Làm thế nào bạn có thể xóa tệp khỏi PHP?

Để xóa một tệp trong PHP, sử dụng chức năng hủy liên kết.Hãy xem qua một ví dụ để xem nó hoạt động như thế nào.Đối số đầu tiên của hàm hủy liên kết là tên tệp mà bạn muốn xóa.Hàm bỏ liên kết trả về đúng hay sai, tùy thuộc vào việc hoạt động xóa có thành công hay không.use the unlink function. Let's go through an example to see how it works. The first argument of the unlink function is a filename which you want to delete. The unlink function returns either TRUE or FALSE , depending on whether the delete operation was successful.

Chức năng nào được sử dụng trong PHP để xóa một tệp?

Hàm bỏ liên kết () xóa một tệp.unlink() function deletes a file.

Làm thế nào để tách nhiều tệp trong PHP?

Trong PHP, thật dễ dàng để xóa nhiều tệp trong một thư mục.Để làm như vậy, chúng ta có thể sử dụng hàm hủy liên kết php () trong một vòng lặp.Giả sử chúng tôi có 5 tệp và chúng tôi muốn xóa 5 tệp này.Với mã này, tất cả 5 tệp sẽ bị xóa.use the php unlink() function in a loop. Let's say we have 5 files and we want to delete these 5 files. With this code, the 5 files will all be deleted.