|
Posted by Tom Mackay on 11/16/07 16:42
"Steve" <no.one@example.com> wrote in message
news:Spj%i.25$ug7.5@newsfe02.lga...
>
> "Tom Mackay" <nospam@nospam.com> wrote in message
> news:13jrfeiaa8dscca@corp.supernews.com...
>> "Steve" <no.one@example.com> wrote in message
>> news:uqY_i.7$dY3.2@newsfe02.lga...
>>>
>>> "Mike" <me@privacy.net> 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 '<pre>' . print_r($fileInfo, true) . '</pre>';
> }
> ?>
>
> ==============
>
> 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.
<?php
$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 "<a href=\"$file\">$file</a><br />";
}
// Close
closedir($dir_handle);
?>
Any suggestions how to do this or point me in the right direction?.
[Back to original message]
|