473,508 Members | 2,274 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

getting all sub-directories

Hi,

I'm using PHP 4.4.4 with Apache 2 on Fedora Core 6 Linux. Given a
directory, how would I get all sub-directories? I found "scandir" but
that only applies for PHP 5 and I think it returns both files and
folders, whereas I only want the folders.

Thanks for any help, - Dave
Feb 11 '08 #1
2 1792
This function will do it:

function getFilesByType($dir, $type = 'dir')
{
if (($dh = opendir($dir)) === false) {
trigger_error('opendir', E_USER_ERROR);
} else {
if ($dir[strlen($dir) -1] == DIRECTORY_SEPARATOR) {
$sep = '';
} else {
$sep = DIRECTORY_SEPARATOR;
}
$list = array();
while (($ent = readdir($dh)) !== false) {
if ($ent == '.' || $ent == '..') continue;
if (filetype("$dir$sep$ent") == $type) {
$list[] = "$dir$sep$ent";
}
}
closedir($dh);
return $list;
}
return false;
}

On Feb 10, 8:00 pm, "laredotorn...@zipmail.com"
<laredotorn...@zipmail.comwrote:
Hi,

I'm using PHP 4.4.4 with Apache 2 on Fedora Core 6 Linux. Given a
directory, how would I get all sub-directories? I found "scandir" but
that only applies for PHP 5 and I think it returns both files and
folders, whereas I only want the folders.

Thanks for any help, - Dave
Feb 11 '08 #2
..oO(la***********@zipmail.com)
>I'm using PHP 4.4.4 with Apache 2 on Fedora Core 6 Linux.
PHP 4 is dead, PHP 6 on the rise. It's time for an update.
>Given a
directory, how would I get all sub-directories? I found "scandir" but
that only applies for PHP 5 and I think it returns both files and
folders, whereas I only want the folders.
I suggest to update to PHP 5 and use the iterators from the SPL. Then
with a simple 'foreach' loop you can easily loop through arbitrarily
deep nested tree structures and search for whatever you like, e.g.

$result = array();
foreach (new DirectoryIterator($yourPath) as $item) {
if ($item->isDir() && !$item->isDot()) {
$result[] = $item->getPathname();
}
}

Micha
Feb 11 '08 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

15
2943
by: sara | last post by:
Hi I'm pretty new to Access here (using Access 2000), and appreciate the help and instruction. I gave myself 2.5 hours to research online and help and try to get this one, and I am not getting...
6
1733
by: Teep | last post by:
Below is my code for dropdownlist that is populated from a SQL table. After a selection from the ddl, a datagrid is suppose to come up pertaining to the information selected, but I keep getting a...
5
5926
by: Nathan Sokalski | last post by:
I have a user control that contains three variables which are accessed through public properties. They are declared immediately below the "Web Form Designer Generated Code" section. Every time an...
4
8495
by: Joe Schmoe | last post by:
All I want to to be able to take a two-column DataReader (One column with the Item ID number, the other with Item Description text) and load it into a Windows Forms ComboBox (Set to DropDownList...
2
13637
by: ronchese | last post by:
I'm noticing this since I started developing a website project: my session variables are getting empty! I did a real easy test, and I checked my session variable is getting empty!! What is...
1
3591
by: sean | last post by:
I'm trying to create "rubber-band" rectangles by overriding the OnPaint method to place rectangles on top of all graphic controls, but when I call Me.Invalidate() (when the user moves the mouse),...
1
1859
imrosie
by: imrosie | last post by:
Please help with this one,,,,,I've been trying everything in my arsenal to fix this one. I'm stumped.... I"ve got a unbound combo box (customername) that has two events (on click); AfterUpdate and...
11
2568
by: Hotrod2000 | last post by:
I'm quite new to programming but I'm having problems getting a timer to work in visual studio.net I've created a timer on a form, enabled it and then typed the following code (from the mdsn...
1
2629
by: Tenowg | last post by:
Hey everyone... Firstly let me tell you this is a project that is probably alittle over my head... I have played with programming most of my life, but I have only been doing VB 2005 for about 2...
0
1525
by: TG | last post by:
Hi! Once again I have hit a brick wall here. I have a combobox in which the user types the server name and then clicks on button 'CONNECT' to populate the next combobox which contains all the...
0
7129
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7333
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7398
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7061
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7502
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
3194
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1566
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
769
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
428
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.