Does anyone use Glob?

Does anyone use Glob?

am 15.11.2007 09:48:58 von Hans-Peter Sauer

Hi

Does anyone use glob to search?. I am wondering how good/effective it is

http://de3.php.net/manual/en/function.glob.php

Re: Does anyone use Glob?

am 15.11.2007 15:09:31 von Steve

"Mike" wrote in message
news:13jo2saj2oacnda@corp.supernews.com...
> Hi
>
> Does anyone use glob to search?. I am wondering how good/effective it is
>
> http://de3.php.net/manual/en/function.glob.php

i've been using it for years in the form of:


function listFiles($path = '.', $extension = array(), $combine = false)
{
$wd = getcwd();
$path .= substr($path, -1) != '/' ? '/' : '';
if (!chdir($path)){ return array(); }
if (!$extension){ $extension = array('*'); }
if (!is_array($extension)){ $extension = array($extension); }
$extensions = '*.{' . implode(',', $extension) . '}';
$files = glob($extensions, GLOB_BRACE);
chdir($wd);
if (!$files){ return array(); }
$list = array();
$path = $combine ? $path : '';
foreach ($files as $file)
{
$list[] = $path . $file;
}
return $list;
}

Re: Does anyone use Glob?

am 16.11.2007 16:57:09 von DFS

"Steve" wrote in message
news:uqY_i.7$dY3.2@newsfe02.lga...
>
> "Mike" wrote in message
> news:13jo2saj2oacnda@corp.supernews.com...
>> Hi
>>
>> Does anyone use glob to search?. I am wondering how good/effective it is
>>
>> http://de3.php.net/manual/en/function.glob.php
>
> i've been using it for years in the form of:
>
>
> function listFiles($path = '.', $extension = array(), $combine = false)
> {
> $wd = getcwd();
> $path .= substr($path, -1) != '/' ? '/' : '';
> if (!chdir($path)){ return array(); }
> if (!$extension){ $extension = array('*'); }
> if (!is_array($extension)){ $extension = array($extension); }
> $extensions = '*.{' . implode(',', $extension) . '}';
> $files = glob($extensions, GLOB_BRACE);
> chdir($wd);
> if (!$files){ return array(); }
> $list = array();
> $path = $combine ? $path : '';
> foreach ($files as $file)
> {
> $list[] = $path . $file;
> }
> return $list;
> }
>

Hi
I just tried your script but nothing happens. What is it supposed to do?

Re: Does anyone use Glob?

am 16.11.2007 17:18:59 von Steve

"Tom Mackay" wrote in message
news:13jrfeiaa8dscca@corp.supernews.com...
> "Steve" wrote in message
> news:uqY_i.7$dY3.2@newsfe02.lga...
>>
>> "Mike" wrote in message
>> news:13jo2saj2oacnda@corp.supernews.com...
>>> Hi
>>>
>>> Does anyone use glob to search?. I am wondering how good/effective it
>>> is
>>>
>>> http://de3.php.net/manual/en/function.glob.php
>>
>> i've been using it for years in the form of:
>>
>>
>> function listFiles($path = '.', $extension = array(), $combine = false)
>> {
>> $wd = getcwd();
>> $path .= substr($path, -1) != '/' ? '/' : '';
>> if (!chdir($path)){ return array(); }
>> if (!$extension){ $extension = array('*'); }
>> if (!is_array($extension)){ $extension = array($extension); }
>> $extensions = '*.{' . implode(',', $extension) . '}';
>> $files = glob($extensions, GLOB_BRACE);
>> chdir($wd);
>> if (!$files){ return array(); }
>> $list = array();
>> $path = $combine ? $path : '';
>> foreach ($files as $file)
>> {
>> $list[] = $path . $file;
>> }
>> return $list;
>> }
>>
>
> Hi
> I just tried your script but nothing happens. What is it supposed to do?

list files in a directory...as in:

==============

function listFiles($path = '.', $extension = array(), $combine = false)
{
$wd = getcwd();
$path .= substr($path, -1) != '/' ? '/' : '';
if (!chdir($path)){ return array(); }
if (!$extension){ $extension = array('*'); }
if (!is_array($extension)){ $extension = array($extension); }
$extensions = '*.{' . implode(',', $extension) . '}';
$files = glob($extensions, GLOB_BRACE);
chdir($wd);
if (!$files){ return array(); }
$list = array();
$path = $combine ? $path : '';
foreach ($files as $file)
{
$list[] = $path . $file;
}
return $list;
}
$files = listFiles('c:/inetpub/wwwroot/images', 'jpg', true);
$images = array();
foreach ($files as $file)
{
$fileInfo = pathinfo($file);
$handle = fopen($file, 'r');
$fileInfo = array_merge($fileInfo, fstat($handle));
fclose($handle);
for ($i = 0; $i < 13; $i++){ unset($fileInfo[$i]); }
echo '

' . print_r($fileInfo, true) . '
';
}
?>

==============

if you want to search for multiple extensions, then the listFiles arg would
be an array...as in:

array('jpg', 'gif', 'tif')

make sense?

Re: Does anyone use Glob?

am 16.11.2007 17:42:02 von DFS

"Steve" wrote in message
news:Spj%i.25$ug7.5@newsfe02.lga...
>
> "Tom Mackay" wrote in message
> news:13jrfeiaa8dscca@corp.supernews.com...
>> "Steve" wrote in message
>> news:uqY_i.7$dY3.2@newsfe02.lga...
>>>
>>> "Mike" wrote in message
>>> news:13jo2saj2oacnda@corp.supernews.com...
>>>> Hi
>>>>
>>>> Does anyone use glob to search?. I am wondering how good/effective it
>>>> is
>>>>
>>>> http://de3.php.net/manual/en/function.glob.php
>>>
>>> i've been using it for years in the form of:
>>>
>>>
>>> function listFiles($path = '.', $extension = array(), $combine = false)
>>> {
>>> $wd = getcwd();
>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>> if (!chdir($path)){ return array(); }
>>> if (!$extension){ $extension = array('*'); }
>>> if (!is_array($extension)){ $extension = array($extension); }
>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>> $files = glob($extensions, GLOB_BRACE);
>>> chdir($wd);
>>> if (!$files){ return array(); }
>>> $list = array();
>>> $path = $combine ? $path : '';
>>> foreach ($files as $file)
>>> {
>>> $list[] = $path . $file;
>>> }
>>> return $list;
>>> }
>>>
>>
>> Hi
>> I just tried your script but nothing happens. What is it supposed to do?
>
> list files in a directory...as in:
>
> ==============
>
> > function listFiles($path = '.', $extension = array(), $combine = false)
> {
> $wd = getcwd();
> $path .= substr($path, -1) != '/' ? '/' : '';
> if (!chdir($path)){ return array(); }
> if (!$extension){ $extension = array('*'); }
> if (!is_array($extension)){ $extension = array($extension); }
> $extensions = '*.{' . implode(',', $extension) . '}';
> $files = glob($extensions, GLOB_BRACE);
> chdir($wd);
> if (!$files){ return array(); }
> $list = array();
> $path = $combine ? $path : '';
> foreach ($files as $file)
> {
> $list[] = $path . $file;
> }
> return $list;
> }
> $files = listFiles('c:/inetpub/wwwroot/images', 'jpg', true);
> $images = array();
> foreach ($files as $file)
> {
> $fileInfo = pathinfo($file);
> $handle = fopen($file, 'r');
> $fileInfo = array_merge($fileInfo, fstat($handle));
> fclose($handle);
> for ($i = 0; $i < 13; $i++){ unset($fileInfo[$i]); }
> echo '

' . print_r($fileInfo, true) . '
';
> }
> ?>
>
> ==============
>
> if you want to search for multiple extensions, then the listFiles arg
> would be an array...as in:
>
> array('jpg', 'gif', 'tif')
>
> make sense?


OK thanks.
FYI I have a similar list script i have been using for a while but
would like to replace this will a search instead of a full listing.
i.e. - search for file xxxx rather than going through the list to see if
it is present.

$path = "/usr/local/apache/share/default/";
$dir_handle = @opendir($path) or die("Unable to open $path");
while ($file = readdir($dir_handle)) {
if($file == "." || $file == ".." || $file == "index.php" )
continue;
echo "
";
}
// Close
closedir($dir_handle);
?>

Any suggestions how to do this or point me in the right direction?.

Re: Does anyone use Glob?

am 16.11.2007 17:56:15 von Steve

"Tom Mackay" wrote in message
news:13jri2nqr1phc22@corp.supernews.com...
>
> "Steve" wrote in message
> news:Spj%i.25$ug7.5@newsfe02.lga...
>>
>> "Tom Mackay" wrote in message
>> news:13jrfeiaa8dscca@corp.supernews.com...
>>> "Steve" wrote in message
>>> news:uqY_i.7$dY3.2@newsfe02.lga...
>>>>
>>>> "Mike" wrote in message
>>>> news:13jo2saj2oacnda@corp.supernews.com...
>>>>> Hi
>>>>>
>>>>> Does anyone use glob to search?. I am wondering how good/effective it
>>>>> is
>>>>>
>>>>> http://de3.php.net/manual/en/function.glob.php
>>>>
>>>> i've been using it for years in the form of:
>>>>
>>>>
>>>> function listFiles($path = '.', $extension = array(), $combine = false)
>>>> {
>>>> $wd = getcwd();
>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>> if (!chdir($path)){ return array(); }
>>>> if (!$extension){ $extension = array('*'); }
>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>> $files = glob($extensions, GLOB_BRACE);
>>>> chdir($wd);
>>>> if (!$files){ return array(); }
>>>> $list = array();
>>>> $path = $combine ? $path : '';
>>>> foreach ($files as $file)
>>>> {
>>>> $list[] = $path . $file;
>>>> }
>>>> return $list;
>>>> }
>>>>
>>>
>>> Hi
>>> I just tried your script but nothing happens. What is it supposed to
>>> do?
>>
>> list files in a directory...as in:
>>
>> ==============
>>
>> >> function listFiles($path = '.', $extension = array(), $combine = false)
>> {
>> $wd = getcwd();
>> $path .= substr($path, -1) != '/' ? '/' : '';
>> if (!chdir($path)){ return array(); }
>> if (!$extension){ $extension = array('*'); }
>> if (!is_array($extension)){ $extension = array($extension); }
>> $extensions = '*.{' . implode(',', $extension) . '}';
>> $files = glob($extensions, GLOB_BRACE);
>> chdir($wd);
>> if (!$files){ return array(); }
>> $list = array();
>> $path = $combine ? $path : '';
>> foreach ($files as $file)
>> {
>> $list[] = $path . $file;
>> }
>> return $list;
>> }
>> $files = listFiles('c:/inetpub/wwwroot/images', 'jpg', true);
>> $images = array();
>> foreach ($files as $file)
>> {
>> $fileInfo = pathinfo($file);
>> $handle = fopen($file, 'r');
>> $fileInfo = array_merge($fileInfo, fstat($handle));
>> fclose($handle);
>> for ($i = 0; $i < 13; $i++){ unset($fileInfo[$i]); }
>> echo '

' . print_r($fileInfo, true) . '
';
>> }
>> ?>
>>
>> ==============
>>
>> if you want to search for multiple extensions, then the listFiles arg
>> would be an array...as in:
>>
>> array('jpg', 'gif', 'tif')
>>
>> make sense?
>
>
> OK thanks.
> FYI I have a similar list script i have been using for a while but
> would like to replace this will a search instead of a full listing.
> i.e. - search for file xxxx rather than going through the list to see if
> it is present.
>
> > $path = "/usr/local/apache/share/default/";
> $dir_handle = @opendir($path) or die("Unable to open $path");
> while ($file = readdir($dir_handle)) {
> if($file == "." || $file == ".." || $file == "index.php" )
> continue;
> echo "
";
> }
> // Close
> closedir($dir_handle);
> ?>
>
> Any suggestions how to do this or point me in the right direction?.

from you example above:

$wd = getcwd();
chdir($path);
$files = glob('index.php');
chdir($wd);

that's it.

if you were so inclined, just modify my listFiles function at this line:

$extensions = '*.{' . implode(',', $extension) . '}';

to:

$extensions = '{' . implode(',', $extension) . '}';

i'd also change the variable names to $find (was $extension) and $search
(was $extensions). the only other change you'd need to note is when calling
the function. if searching by extension, you'd have to include the asterisk
yourself...

array('*.jpg', '*.png', 'index.php')

for example. that should list all jpg and png images and any file named
index.php. see if that works for you.

Re: Does anyone use Glob?

am 16.11.2007 17:59:40 von Steve

"Steve" wrote in message
news:PYj%i.693$Xp7.184@newsfe05.lga...
>
> "Tom Mackay" wrote in message
> news:13jri2nqr1phc22@corp.supernews.com...
>>
>> "Steve" wrote in message
>> news:Spj%i.25$ug7.5@newsfe02.lga...
>>>
>>> "Tom Mackay" wrote in message
>>> news:13jrfeiaa8dscca@corp.supernews.com...
>>>> "Steve" wrote in message
>>>> news:uqY_i.7$dY3.2@newsfe02.lga...
>>>>>
>>>>> "Mike" wrote in message
>>>>> news:13jo2saj2oacnda@corp.supernews.com...
>>>>>> Hi
>>>>>>
>>>>>> Does anyone use glob to search?. I am wondering how good/effective
>>>>>> it
>>>>>> is
>>>>>>
>>>>>> http://de3.php.net/manual/en/function.glob.php
>>>>>
>>>>> i've been using it for years in the form of:
>>>>>
>>>>>
>>>>> function listFiles($path = '.', $extension = array(), $combine =
>>>>> false)
>>>>> {
>>>>> $wd = getcwd();
>>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>>> if (!chdir($path)){ return array(); }
>>>>> if (!$extension){ $extension = array('*'); }
>>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>>> $files = glob($extensions, GLOB_BRACE);
>>>>> chdir($wd);
>>>>> if (!$files){ return array(); }
>>>>> $list = array();
>>>>> $path = $combine ? $path : '';
>>>>> foreach ($files as $file)
>>>>> {
>>>>> $list[] = $path . $file;
>>>>> }
>>>>> return $list;
>>>>> }
>>>>>
>>>>
>>>> Hi
>>>> I just tried your script but nothing happens. What is it supposed to
>>>> do?
>>>
>>> list files in a directory...as in:
>>>
>>> ==============
>>>
>>> >>> function listFiles($path = '.', $extension = array(), $combine = false)
>>> {
>>> $wd = getcwd();
>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>> if (!chdir($path)){ return array(); }
>>> if (!$extension){ $extension = array('*'); }
>>> if (!is_array($extension)){ $extension = array($extension); }
>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>> $files = glob($extensions, GLOB_BRACE);
>>> chdir($wd);
>>> if (!$files){ return array(); }
>>> $list = array();
>>> $path = $combine ? $path : '';
>>> foreach ($files as $file)
>>> {
>>> $list[] = $path . $file;
>>> }
>>> return $list;
>>> }
>>> $files = listFiles('c:/inetpub/wwwroot/images', 'jpg', true);
>>> $images = array();
>>> foreach ($files as $file)
>>> {
>>> $fileInfo = pathinfo($file);
>>> $handle = fopen($file, 'r');
>>> $fileInfo = array_merge($fileInfo, fstat($handle));
>>> fclose($handle);
>>> for ($i = 0; $i < 13; $i++){ unset($fileInfo[$i]); }
>>> echo '

' . print_r($fileInfo, true) . '
';
>>> }
>>> ?>
>>>
>>> ==============
>>>
>>> if you want to search for multiple extensions, then the listFiles arg
>>> would be an array...as in:
>>>
>>> array('jpg', 'gif', 'tif')
>>>
>>> make sense?
>>
>>
>> OK thanks.
>> FYI I have a similar list script i have been using for a while but
>> would like to replace this will a search instead of a full listing.
>> i.e. - search for file xxxx rather than going through the list to see if
>> it is present.
>>
>> >> $path = "/usr/local/apache/share/default/";
>> $dir_handle = @opendir($path) or die("Unable to open $path");
>> while ($file = readdir($dir_handle)) {
>> if($file == "." || $file == ".." || $file == "index.php" )
>> continue;
>> echo "
";
>> }
>> // Close
>> closedir($dir_handle);
>> ?>
>>
>> Any suggestions how to do this or point me in the right direction?.
>
> from you example above:
>
> $wd = getcwd();
> chdir($path);
> $files = glob('index.php');
> chdir($wd);

btw, you know you DID NOT have that file in $path if !$files...as in:

if (!$files)
{
echo '
index.php was not found in' . $path . '
';
}

Re: Does anyone use Glob?

am 16.11.2007 18:06:13 von Steve

"Steve" wrote in message
news:00k%i.694$Xp7.123@newsfe05.lga...
>
> "Steve" wrote in message
> news:PYj%i.693$Xp7.184@newsfe05.lga...
>>
>> "Tom Mackay" wrote in message
>> news:13jri2nqr1phc22@corp.supernews.com...
>>>
>>> "Steve" wrote in message
>>> news:Spj%i.25$ug7.5@newsfe02.lga...
>>>>
>>>> "Tom Mackay" wrote in message
>>>> news:13jrfeiaa8dscca@corp.supernews.com...
>>>>> "Steve" wrote in message
>>>>> news:uqY_i.7$dY3.2@newsfe02.lga...
>>>>>>
>>>>>> "Mike" wrote in message
>>>>>> news:13jo2saj2oacnda@corp.supernews.com...
>>>>>>> Hi
>>>>>>>
>>>>>>> Does anyone use glob to search?. I am wondering how good/effective
>>>>>>> it
>>>>>>> is
>>>>>>>
>>>>>>> http://de3.php.net/manual/en/function.glob.php
>>>>>>
>>>>>> i've been using it for years in the form of:
>>>>>>
>>>>>>
>>>>>> function listFiles($path = '.', $extension = array(), $combine =
>>>>>> false)
>>>>>> {
>>>>>> $wd = getcwd();
>>>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>>>> if (!chdir($path)){ return array(); }
>>>>>> if (!$extension){ $extension = array('*'); }
>>>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>>>> $files = glob($extensions, GLOB_BRACE);
>>>>>> chdir($wd);
>>>>>> if (!$files){ return array(); }
>>>>>> $list = array();
>>>>>> $path = $combine ? $path : '';
>>>>>> foreach ($files as $file)
>>>>>> {
>>>>>> $list[] = $path . $file;
>>>>>> }
>>>>>> return $list;
>>>>>> }
>>>>>>
>>>>>
>>>>> Hi
>>>>> I just tried your script but nothing happens. What is it supposed to
>>>>> do?
>>>>
>>>> list files in a directory...as in:
>>>>
>>>> ==============
>>>>
>>>> >>>> function listFiles($path = '.', $extension = array(), $combine = false)
>>>> {
>>>> $wd = getcwd();
>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>> if (!chdir($path)){ return array(); }
>>>> if (!$extension){ $extension = array('*'); }
>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>> $files = glob($extensions, GLOB_BRACE);
>>>> chdir($wd);
>>>> if (!$files){ return array(); }
>>>> $list = array();
>>>> $path = $combine ? $path : '';
>>>> foreach ($files as $file)
>>>> {
>>>> $list[] = $path . $file;
>>>> }
>>>> return $list;
>>>> }
>>>> $files = listFiles('c:/inetpub/wwwroot/images', 'jpg', true);
>>>> $images = array();
>>>> foreach ($files as $file)
>>>> {
>>>> $fileInfo = pathinfo($file);
>>>> $handle = fopen($file, 'r');
>>>> $fileInfo = array_merge($fileInfo, fstat($handle));
>>>> fclose($handle);
>>>> for ($i = 0; $i < 13; $i++){ unset($fileInfo[$i]); }
>>>> echo '

' . print_r($fileInfo, true) . '
';
>>>> }
>>>> ?>
>>>>
>>>> ==============
>>>>
>>>> if you want to search for multiple extensions, then the listFiles arg
>>>> would be an array...as in:
>>>>
>>>> array('jpg', 'gif', 'tif')
>>>>
>>>> make sense?
>>>
>>>
>>> OK thanks.
>>> FYI I have a similar list script i have been using for a while but
>>> would like to replace this will a search instead of a full listing.
>>> i.e. - search for file xxxx rather than going through the list to see
>>> if
>>> it is present.
>>>
>>> >>> $path = "/usr/local/apache/share/default/";
>>> $dir_handle = @opendir($path) or die("Unable to open $path");
>>> while ($file = readdir($dir_handle)) {
>>> if($file == "." || $file == ".." || $file == "index.php" )
>>> continue;
>>> echo "
";
>>> }
>>> // Close
>>> closedir($dir_handle);
>>> ?>
>>>
>>> Any suggestions how to do this or point me in the right direction?.
>>
>> from you example above:
>>
>> $wd = getcwd();
>> chdir($path);
>> $files = glob('index.php');
>> chdir($wd);
>
> btw, you know you DID NOT have that file in $path if !$files...as in:
>
> if (!$files)
> {
> echo '
index.php was not found in' . $path . '
';
> }

ROFL @ myself.

anyway, to expand this even further. if you modify the listFiles function as
i described, you can search for multiple files in a dir at one time and know
which WERE and were NOT found...like this:

$find = array('index.php', 'some.file.txt');
$found = listFiles($path, $find);
$missing = array_diff($find, $files);

that's the beauty of writing re-usable functions that are limited to single
tasks. it make building on or from them very easily done.

cheers

Re: Does anyone use Glob?

am 16.11.2007 18:06:27 von DFS

"Steve" wrote in message
news:PYj%i.693$Xp7.184@newsfe05.lga...
>
> "Tom Mackay" wrote in message
> news:13jri2nqr1phc22@corp.supernews.com...
>>
>> "Steve" wrote in message
>> news:Spj%i.25$ug7.5@newsfe02.lga...
>>>
>>> "Tom Mackay" wrote in message
>>> news:13jrfeiaa8dscca@corp.supernews.com...
>>>> "Steve" wrote in message
>>>> news:uqY_i.7$dY3.2@newsfe02.lga...
>>>>>
>>>>> "Mike" wrote in message
>>>>> news:13jo2saj2oacnda@corp.supernews.com...
>>>>>> Hi
>>>>>>
>>>>>> Does anyone use glob to search?. I am wondering how good/effective
>>>>>> it
>>>>>> is
>>>>>>
>>>>>> http://de3.php.net/manual/en/function.glob.php
>>>>>
>>>>> i've been using it for years in the form of:
>>>>>
>>>>>
>>>>> function listFiles($path = '.', $extension = array(), $combine =
>>>>> false)
>>>>> {
>>>>> $wd = getcwd();
>>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>>> if (!chdir($path)){ return array(); }
>>>>> if (!$extension){ $extension = array('*'); }
>>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>>> $files = glob($extensions, GLOB_BRACE);
>>>>> chdir($wd);
>>>>> if (!$files){ return array(); }
>>>>> $list = array();
>>>>> $path = $combine ? $path : '';
>>>>> foreach ($files as $file)
>>>>> {
>>>>> $list[] = $path . $file;
>>>>> }
>>>>> return $list;
>>>>> }
>>>>>
>>>>
>>>> Hi
>>>> I just tried your script but nothing happens. What is it supposed to
>>>> do?
>>>
>>> list files in a directory...as in:
>>>
>>> ==============
>>>
>>> >>> function listFiles($path = '.', $extension = array(), $combine = false)
>>> {
>>> $wd = getcwd();
>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>> if (!chdir($path)){ return array(); }
>>> if (!$extension){ $extension = array('*'); }
>>> if (!is_array($extension)){ $extension = array($extension); }
>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>> $files = glob($extensions, GLOB_BRACE);
>>> chdir($wd);
>>> if (!$files){ return array(); }
>>> $list = array();
>>> $path = $combine ? $path : '';
>>> foreach ($files as $file)
>>> {
>>> $list[] = $path . $file;
>>> }
>>> return $list;
>>> }
>>> $files = listFiles('c:/inetpub/wwwroot/images', 'jpg', true);
>>> $images = array();
>>> foreach ($files as $file)
>>> {
>>> $fileInfo = pathinfo($file);
>>> $handle = fopen($file, 'r');
>>> $fileInfo = array_merge($fileInfo, fstat($handle));
>>> fclose($handle);
>>> for ($i = 0; $i < 13; $i++){ unset($fileInfo[$i]); }
>>> echo '

' . print_r($fileInfo, true) . '
';
>>> }
>>> ?>
>>>
>>> ==============
>>>
>>> if you want to search for multiple extensions, then the listFiles arg
>>> would be an array...as in:
>>>
>>> array('jpg', 'gif', 'tif')
>>>
>>> make sense?
>>
>>
>> OK thanks.
>> FYI I have a similar list script i have been using for a while but
>> would like to replace this will a search instead of a full listing.
>> i.e. - search for file xxxx rather than going through the list to see if
>> it is present.
>>
>> >> $path = "/usr/local/apache/share/default/";
>> $dir_handle = @opendir($path) or die("Unable to open $path");
>> while ($file = readdir($dir_handle)) {
>> if($file == "." || $file == ".." || $file == "index.php" )
>> continue;
>> echo "
";
>> }
>> // Close
>> closedir($dir_handle);
>> ?>
>>
>> Any suggestions how to do this or point me in the right direction?.
>
> from you example above:
>
> $wd = getcwd();
> chdir($path);
> $files = glob('index.php');
> chdir($wd);
>
> that's it.
>
> if you were so inclined, just modify my listFiles function at this line:
>
> $extensions = '*.{' . implode(',', $extension) . '}';
>
> to:
>
> $extensions = '{' . implode(',', $extension) . '}';
>
> i'd also change the variable names to $find (was $extension) and $search
> (was $extensions). the only other change you'd need to note is when
> calling the function. if searching by extension, you'd have to include the
> asterisk yourself...
>
> array('*.jpg', '*.png', 'index.php')
>
> for example. that should list all jpg and png images and any file named
> index.php. see if that works for you.


The extension is always the same so i dont have to worry about that. How
would i include a search field into the script to allow me to enter the file
names into the page directly.
I am assuming this would be a normal form field?. i.e.


Re: Does anyone use Glob?

am 16.11.2007 18:15:45 von Steve

"Tom Mackay" wrote in message
news:13jrjgd3uhctbff@corp.supernews.com...
>
> "Steve" wrote in message
> news:PYj%i.693$Xp7.184@newsfe05.lga...
>>
>> "Tom Mackay" wrote in message
>> news:13jri2nqr1phc22@corp.supernews.com...
>>>
>>> "Steve" wrote in message
>>> news:Spj%i.25$ug7.5@newsfe02.lga...
>>>>
>>>> "Tom Mackay" wrote in message
>>>> news:13jrfeiaa8dscca@corp.supernews.com...
>>>>> "Steve" wrote in message
>>>>> news:uqY_i.7$dY3.2@newsfe02.lga...
>>>>>>
>>>>>> "Mike" wrote in message
>>>>>> news:13jo2saj2oacnda@corp.supernews.com...
>>>>>>> Hi
>>>>>>>
>>>>>>> Does anyone use glob to search?. I am wondering how good/effective
>>>>>>> it
>>>>>>> is
>>>>>>>
>>>>>>> http://de3.php.net/manual/en/function.glob.php
>>>>>>
>>>>>> i've been using it for years in the form of:
>>>>>>
>>>>>>
>>>>>> function listFiles($path = '.', $extension = array(), $combine =
>>>>>> false)
>>>>>> {
>>>>>> $wd = getcwd();
>>>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>>>> if (!chdir($path)){ return array(); }
>>>>>> if (!$extension){ $extension = array('*'); }
>>>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>>>> $files = glob($extensions, GLOB_BRACE);
>>>>>> chdir($wd);
>>>>>> if (!$files){ return array(); }
>>>>>> $list = array();
>>>>>> $path = $combine ? $path : '';
>>>>>> foreach ($files as $file)
>>>>>> {
>>>>>> $list[] = $path . $file;
>>>>>> }
>>>>>> return $list;
>>>>>> }
>>>>>>
>>>>>
>>>>> Hi
>>>>> I just tried your script but nothing happens. What is it supposed to
>>>>> do?
>>>>
>>>> list files in a directory...as in:
>>>>
>>>> ==============
>>>>
>>>> >>>> function listFiles($path = '.', $extension = array(), $combine = false)
>>>> {
>>>> $wd = getcwd();
>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>> if (!chdir($path)){ return array(); }
>>>> if (!$extension){ $extension = array('*'); }
>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>> $files = glob($extensions, GLOB_BRACE);
>>>> chdir($wd);
>>>> if (!$files){ return array(); }
>>>> $list = array();
>>>> $path = $combine ? $path : '';
>>>> foreach ($files as $file)
>>>> {
>>>> $list[] = $path . $file;
>>>> }
>>>> return $list;
>>>> }
>>>> $files = listFiles('c:/inetpub/wwwroot/images', 'jpg', true);
>>>> $images = array();
>>>> foreach ($files as $file)
>>>> {
>>>> $fileInfo = pathinfo($file);
>>>> $handle = fopen($file, 'r');
>>>> $fileInfo = array_merge($fileInfo, fstat($handle));
>>>> fclose($handle);
>>>> for ($i = 0; $i < 13; $i++){ unset($fileInfo[$i]); }
>>>> echo '

' . print_r($fileInfo, true) . '
';
>>>> }
>>>> ?>
>>>>
>>>> ==============
>>>>
>>>> if you want to search for multiple extensions, then the listFiles arg
>>>> would be an array...as in:
>>>>
>>>> array('jpg', 'gif', 'tif')
>>>>
>>>> make sense?
>>>
>>>
>>> OK thanks.
>>> FYI I have a similar list script i have been using for a while but
>>> would like to replace this will a search instead of a full listing.
>>> i.e. - search for file xxxx rather than going through the list to see
>>> if
>>> it is present.
>>>
>>> >>> $path = "/usr/local/apache/share/default/";
>>> $dir_handle = @opendir($path) or die("Unable to open $path");
>>> while ($file = readdir($dir_handle)) {
>>> if($file == "." || $file == ".." || $file == "index.php" )
>>> continue;
>>> echo "
";
>>> }
>>> // Close
>>> closedir($dir_handle);
>>> ?>
>>>
>>> Any suggestions how to do this or point me in the right direction?.
>>
>> from you example above:
>>
>> $wd = getcwd();
>> chdir($path);
>> $files = glob('index.php');
>> chdir($wd);
>>
>> that's it.
>>
>> if you were so inclined, just modify my listFiles function at this line:
>>
>> $extensions = '*.{' . implode(',', $extension) . '}';
>>
>> to:
>>
>> $extensions = '{' . implode(',', $extension) . '}';
>>
>> i'd also change the variable names to $find (was $extension) and $search
>> (was $extensions). the only other change you'd need to note is when
>> calling the function. if searching by extension, you'd have to include
>> the asterisk yourself...
>>
>> array('*.jpg', '*.png', 'index.php')
>>
>> for example. that should list all jpg and png images and any file named
>> index.php. see if that works for you.
>
>
> The extension is always the same so i dont have to worry about that. How
> would i include a search field into the script to allow me to enter the
> file names into the page directly.
> I am assuming this would be a normal form field?. i.e.
>
>
>

not sure i've ever seen

Re: Does anyone use Glob?

am 16.11.2007 18:27:21 von DFS

"Steve" wrote in message
news:5fk%i.698$Xp7.594@newsfe05.lga...
>
> "Tom Mackay" wrote in message
> news:13jrjgd3uhctbff@corp.supernews.com...
>>
>> "Steve" wrote in message
>> news:PYj%i.693$Xp7.184@newsfe05.lga...
>>>
>>> "Tom Mackay" wrote in message
>>> news:13jri2nqr1phc22@corp.supernews.com...
>>>>
>>>> "Steve" wrote in message
>>>> news:Spj%i.25$ug7.5@newsfe02.lga...
>>>>>
>>>>> "Tom Mackay" wrote in message
>>>>> news:13jrfeiaa8dscca@corp.supernews.com...
>>>>>> "Steve" wrote in message
>>>>>> news:uqY_i.7$dY3.2@newsfe02.lga...
>>>>>>>
>>>>>>> "Mike" wrote in message
>>>>>>> news:13jo2saj2oacnda@corp.supernews.com...
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> Does anyone use glob to search?. I am wondering how good/effective
>>>>>>>> it
>>>>>>>> is
>>>>>>>>
>>>>>>>> http://de3.php.net/manual/en/function.glob.php
>>>>>>>
>>>>>>> i've been using it for years in the form of:
>>>>>>>
>>>>>>>
>>>>>>> function listFiles($path = '.', $extension = array(), $combine =
>>>>>>> false)
>>>>>>> {
>>>>>>> $wd = getcwd();
>>>>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>>>>> if (!chdir($path)){ return array(); }
>>>>>>> if (!$extension){ $extension = array('*'); }
>>>>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>>>>> $files = glob($extensions, GLOB_BRACE);
>>>>>>> chdir($wd);
>>>>>>> if (!$files){ return array(); }
>>>>>>> $list = array();
>>>>>>> $path = $combine ? $path : '';
>>>>>>> foreach ($files as $file)
>>>>>>> {
>>>>>>> $list[] = $path . $file;
>>>>>>> }
>>>>>>> return $list;
>>>>>>> }
>>>>>>>
>>>>>>
>>>>>> Hi
>>>>>> I just tried your script but nothing happens. What is it supposed to
>>>>>> do?
>>>>>
>>>>> list files in a directory...as in:
>>>>>
>>>>> ==============
>>>>>
>>>>> >>>>> function listFiles($path = '.', $extension = array(), $combine =
>>>>> false)
>>>>> {
>>>>> $wd = getcwd();
>>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>>> if (!chdir($path)){ return array(); }
>>>>> if (!$extension){ $extension = array('*'); }
>>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>>> $files = glob($extensions, GLOB_BRACE);
>>>>> chdir($wd);
>>>>> if (!$files){ return array(); }
>>>>> $list = array();
>>>>> $path = $combine ? $path : '';
>>>>> foreach ($files as $file)
>>>>> {
>>>>> $list[] = $path . $file;
>>>>> }
>>>>> return $list;
>>>>> }
>>>>> $files = listFiles('c:/inetpub/wwwroot/images', 'jpg', true);
>>>>> $images = array();
>>>>> foreach ($files as $file)
>>>>> {
>>>>> $fileInfo = pathinfo($file);
>>>>> $handle = fopen($file, 'r');
>>>>> $fileInfo = array_merge($fileInfo, fstat($handle));
>>>>> fclose($handle);
>>>>> for ($i = 0; $i < 13; $i++){ unset($fileInfo[$i]); }
>>>>> echo '

' . print_r($fileInfo, true) . '
';
>>>>> }
>>>>> ?>
>>>>>
>>>>> ==============
>>>>>
>>>>> if you want to search for multiple extensions, then the listFiles arg
>>>>> would be an array...as in:
>>>>>
>>>>> array('jpg', 'gif', 'tif')
>>>>>
>>>>> make sense?
>>>>
>>>>
>>>> OK thanks.
>>>> FYI I have a similar list script i have been using for a while but
>>>> would like to replace this will a search instead of a full listing.
>>>> i.e. - search for file xxxx rather than going through the list to see
>>>> if
>>>> it is present.
>>>>
>>>> >>>> $path = "/usr/local/apache/share/default/";
>>>> $dir_handle = @opendir($path) or die("Unable to open $path");
>>>> while ($file = readdir($dir_handle)) {
>>>> if($file == "." || $file == ".." || $file == "index.php" )
>>>> continue;
>>>> echo "
";
>>>> }
>>>> // Close
>>>> closedir($dir_handle);
>>>> ?>
>>>>
>>>> Any suggestions how to do this or point me in the right direction?.
>>>
>>> from you example above:
>>>
>>> $wd = getcwd();
>>> chdir($path);
>>> $files = glob('index.php');
>>> chdir($wd);
>>>
>>> that's it.
>>>
>>> if you were so inclined, just modify my listFiles function at this line:
>>>
>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>
>>> to:
>>>
>>> $extensions = '{' . implode(',', $extension) . '}';
>>>
>>> i'd also change the variable names to $find (was $extension) and $search
>>> (was $extensions). the only other change you'd need to note is when
>>> calling the function. if searching by extension, you'd have to include
>>> the asterisk yourself...
>>>
>>> array('*.jpg', '*.png', 'index.php')
>>>
>>> for example. that should list all jpg and png images and any file named
>>> index.php. see if that works for you.
>>
>>
>> The extension is always the same so i dont have to worry about that.
>> How would i include a search field into the script to allow me to enter
>> the file names into the page directly.
>> I am assuming this would be a normal form field?. i.e.
>>
>>
>>
>
> not sure i've ever seen

Re: Does anyone use Glob?

am 16.11.2007 19:05:41 von Steve

"Tom Mackay" wrote in message
news:13jrknk5st2n2a4@corp.supernews.com...
>
> "Steve" wrote in message
> news:5fk%i.698$Xp7.594@newsfe05.lga...
>>
>> "Tom Mackay" wrote in message
>> news:13jrjgd3uhctbff@corp.supernews.com...
>>>
>>> "Steve" wrote in message
>>> news:PYj%i.693$Xp7.184@newsfe05.lga...
>>>>
>>>> "Tom Mackay" wrote in message
>>>> news:13jri2nqr1phc22@corp.supernews.com...
>>>>>
>>>>> "Steve" wrote in message
>>>>> news:Spj%i.25$ug7.5@newsfe02.lga...
>>>>>>
>>>>>> "Tom Mackay" wrote in message
>>>>>> news:13jrfeiaa8dscca@corp.supernews.com...
>>>>>>> "Steve" wrote in message
>>>>>>> news:uqY_i.7$dY3.2@newsfe02.lga...
>>>>>>>>
>>>>>>>> "Mike" wrote in message
>>>>>>>> news:13jo2saj2oacnda@corp.supernews.com...
>>>>>>>>> Hi
>>>>>>>>>
>>>>>>>>> Does anyone use glob to search?. I am wondering how
>>>>>>>>> good/effective it
>>>>>>>>> is
>>>>>>>>>
>>>>>>>>> http://de3.php.net/manual/en/function.glob.php
>>>>>>>>
>>>>>>>> i've been using it for years in the form of:
>>>>>>>>
>>>>>>>>
>>>>>>>> function listFiles($path = '.', $extension = array(), $combine =
>>>>>>>> false)
>>>>>>>> {
>>>>>>>> $wd = getcwd();
>>>>>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>>>>>> if (!chdir($path)){ return array(); }
>>>>>>>> if (!$extension){ $extension = array('*'); }
>>>>>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>>>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>>>>>> $files = glob($extensions, GLOB_BRACE);
>>>>>>>> chdir($wd);
>>>>>>>> if (!$files){ return array(); }
>>>>>>>> $list = array();
>>>>>>>> $path = $combine ? $path : '';
>>>>>>>> foreach ($files as $file)
>>>>>>>> {
>>>>>>>> $list[] = $path . $file;
>>>>>>>> }
>>>>>>>> return $list;
>>>>>>>> }
>>>>>>>>
>>>>>>>
>>>>>>> Hi
>>>>>>> I just tried your script but nothing happens. What is it supposed
>>>>>>> to do?
>>>>>>
>>>>>> list files in a directory...as in:
>>>>>>
>>>>>> ==============
>>>>>>
>>>>>> >>>>>> function listFiles($path = '.', $extension = array(), $combine =
>>>>>> false)
>>>>>> {
>>>>>> $wd = getcwd();
>>>>>> $path .= substr($path, -1) != '/' ? '/' : '';
>>>>>> if (!chdir($path)){ return array(); }
>>>>>> if (!$extension){ $extension = array('*'); }
>>>>>> if (!is_array($extension)){ $extension = array($extension); }
>>>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>>>> $files = glob($extensions, GLOB_BRACE);
>>>>>> chdir($wd);
>>>>>> if (!$files){ return array(); }
>>>>>> $list = array();
>>>>>> $path = $combine ? $path : '';
>>>>>> foreach ($files as $file)
>>>>>> {
>>>>>> $list[] = $path . $file;
>>>>>> }
>>>>>> return $list;
>>>>>> }
>>>>>> $files = listFiles('c:/inetpub/wwwroot/images', 'jpg', true);
>>>>>> $images = array();
>>>>>> foreach ($files as $file)
>>>>>> {
>>>>>> $fileInfo = pathinfo($file);
>>>>>> $handle = fopen($file, 'r');
>>>>>> $fileInfo = array_merge($fileInfo, fstat($handle));
>>>>>> fclose($handle);
>>>>>> for ($i = 0; $i < 13; $i++){ unset($fileInfo[$i]); }
>>>>>> echo '

' . print_r($fileInfo, true) . '
';
>>>>>> }
>>>>>> ?>
>>>>>>
>>>>>> ==============
>>>>>>
>>>>>> if you want to search for multiple extensions, then the listFiles arg
>>>>>> would be an array...as in:
>>>>>>
>>>>>> array('jpg', 'gif', 'tif')
>>>>>>
>>>>>> make sense?
>>>>>
>>>>>
>>>>> OK thanks.
>>>>> FYI I have a similar list script i have been using for a while but
>>>>> would like to replace this will a search instead of a full listing.
>>>>> i.e. - search for file xxxx rather than going through the list to see
>>>>> if
>>>>> it is present.
>>>>>
>>>>> >>>>> $path = "/usr/local/apache/share/default/";
>>>>> $dir_handle = @opendir($path) or die("Unable to open $path");
>>>>> while ($file = readdir($dir_handle)) {
>>>>> if($file == "." || $file == ".." || $file == "index.php" )
>>>>> continue;
>>>>> echo "
";
>>>>> }
>>>>> // Close
>>>>> closedir($dir_handle);
>>>>> ?>
>>>>>
>>>>> Any suggestions how to do this or point me in the right direction?.
>>>>
>>>> from you example above:
>>>>
>>>> $wd = getcwd();
>>>> chdir($path);
>>>> $files = glob('index.php');
>>>> chdir($wd);
>>>>
>>>> that's it.
>>>>
>>>> if you were so inclined, just modify my listFiles function at this
>>>> line:
>>>>
>>>> $extensions = '*.{' . implode(',', $extension) . '}';
>>>>
>>>> to:
>>>>
>>>> $extensions = '{' . implode(',', $extension) . '}';
>>>>
>>>> i'd also change the variable names to $find (was $extension) and
>>>> $search (was $extensions). the only other change you'd need to note is
>>>> when calling the function. if searching by extension, you'd have to
>>>> include the asterisk yourself...
>>>>
>>>> array('*.jpg', '*.png', 'index.php')
>>>>
>>>> for example. that should list all jpg and png images and any file named
>>>> index.php. see if that works for you.
>>>
>>>
>>> The extension is always the same so i dont have to worry about that. How
>>> would i include a search field into the script to allow me to enter the
>>> file names into the page directly.
>>> I am assuming this would be a normal form field?. i.e.
>>>
>>>
>>>
>>
>> not sure i've ever seen