Làm thế nào tôi có thể nhận được tất cả các thư mục phụ của một thư mục nhất định mà không cần tệp, ________ 18 [thư mục hiện tại] hoặc ________ 19 [thư mục cha] và sau đó sử dụng từng thư mục trong một hàm?
Mohammed h
6.68916 Huy hiệu vàng77 Huy hiệu bạc125 Huy hiệu Đồng16 gold badges77 silver badges125 bronze badges
Đã hỏi ngày 26 tháng 3 năm 2010 lúc 14:55Mar 26, 2010 at 14:55
Lựa chọn 1:
Bạn có thể sử dụng
$dir = new DirectoryIterator[$path];
foreach [$dir as $fileinfo] {
if [$fileinfo->isDir[] && !$fileinfo->isDot[]] {
echo $fileinfo->getFilename[].'
';
}
}
0 với tùy chọn $dir = new DirectoryIterator[$path];
foreach [$dir as $fileinfo] {
if [$fileinfo->isDir[] && !$fileinfo->isDot[]] {
echo $fileinfo->getFilename[].'
';
}
}
1.Lựa chọn 2:
Một tùy chọn khác là sử dụng
$dir = new DirectoryIterator[$path];
foreach [$dir as $fileinfo] {
if [$fileinfo->isDir[] && !$fileinfo->isDot[]] {
echo $fileinfo->getFilename[].'
';
}
}
2 để lọc danh sách các thư mục. Tuy nhiên, lưu ý rằng mã bên dưới sẽ bỏ qua các thư mục hợp lệ với các khoảng thời gian trong tên của họ như $dir = new DirectoryIterator[$path];
foreach [$dir as $fileinfo] {
if [$fileinfo->isDir[] && !$fileinfo->isDot[]] {
echo $fileinfo->getFilename[].'
';
}
}
3.$dirs = array_filter[glob['*'], 'is_dir'];
print_r[$dirs];
Pikamander2
6.5213 Huy hiệu vàng43 Huy hiệu bạc65 Huy hiệu Đồng3 gold badges43 silver badges65 bronze badges
Đã trả lời ngày 26 tháng 3 năm 2010 lúc 14:58Mar 26, 2010 at 14:58
ghostdog74ghostdog74ghostdog74
316K56 Huy hiệu vàng254 Huy hiệu bạc341 Huy hiệu Đồng56 gold badges254 silver badges341 bronze badges
7
Đây là cách bạn chỉ có thể truy xuất các thư mục với Quả cầu:
$directories = glob[$somePath . '/*' , GLOB_ONLYDIR];
Đã trả lời ngày 9 tháng 6 năm 2010 lúc 13:44Jun 9, 2010 at 13:44
COREUSCOREUSCoreus
5.0673 Huy hiệu vàng34 Huy hiệu bạc48 Huy hiệu đồng3 gold badges34 silver badges48 bronze badges
4
Lớp thư mục SPL cung cấp một giao diện đơn giản để xem nội dung của các thư mục hệ thống tập tin.
$dir = new DirectoryIterator[$path];
foreach [$dir as $fileinfo] {
if [$fileinfo->isDir[] && !$fileinfo->isDot[]] {
echo $fileinfo->getFilename[].'
';
}
}
Đã trả lời ngày 4 tháng 10 năm 2013 lúc 10:14Oct 4, 2013 at 10:14
Stlocstlocstloc
1.4681 Huy hiệu vàng16 Huy hiệu bạc26 Huy hiệu đồng1 gold badge16 silver badges26 bronze badges
0
Gần như giống như trong câu hỏi trước của bạn:
$iterator = new RecursiveIteratorIterator[
new RecursiveDirectoryIterator[$yourStartingPath],
RecursiveIteratorIterator::SELF_FIRST];
foreach[$iterator as $file] {
if[$file->isDir[]] {
echo strtoupper[$file->getRealpath[]], PHP_EOL;
}
}
Thay thế
$dir = new DirectoryIterator[$path];
foreach [$dir as $fileinfo] {
if [$fileinfo->isDir[] && !$fileinfo->isDot[]] {
echo $fileinfo->getFilename[].'
';
}
}
4 bằng chức năng mong muốn của bạn.
Đã trả lời ngày 26 tháng 3 năm 2010 lúc 15:11Mar 26, 2010 at 15:11
GordongordonGordon
309K72 Huy hiệu vàng528 Huy hiệu bạc553 Huy hiệu Đồng72 gold badges528 silver badges553 bronze badges
3
Thử mã này: