Re: code quest
| From: | Daniel P. Brown | Date: | Thu, 02 Dec 2010 15:07:10 +0000 |
| Subject: | Re: code quest | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-309817@lists.php.net to get a copy of this message | ||
On Wed, Dec 1, 2010 at 23:13, Kirk Bailey <kbailey@howlermonkey.net> wrote:
[snip!]
>
> Can this be improved to exclude anything with a '.' or a '-' in it's
> name?
> This will exclude the smileys and cgi-bin and such. If it can be persuaded
> to read a 1 line description from each subdirectory it could then use THAT
> as the text in the link, instead of the name. This could be useful in many
> settings.
Sure. Change:
if (is_dir($d) && $d != '.' && $d != '..') {
To:
if (is_dir($d) && !preg_match('/[\.\-]/',$d)) {
Keep in mind, though, that the change will no longer show anything
that matches the below either:
example.directory
example-directory
special-images
css.files
In other words, you may instead want to explicitly state which
directories to omit, and then drop anything that begins with a dot as
well (hidden directories on *NIX-like boxes) like so:
<?php
$excludes[] = 'cgi-bin';
$excludes[] = 'vti_cnf';
$excludes[] = 'private';
$excludes[] = 'thumbnail';
$ls = scandir(dirname(__FILE__));
foreach ($ls as $d) {
if (is_dir($d) && !preg_match('/^\./',basename($d)) &&
!in_array(basename($d),$excludes)) {
echo '<li><a
href="'.$d.'">'.$d.'</a><br/>'.PHP_EOL;
}
}
?>
--
</Daniel P. Brown>
Dedicated Servers, Cloud and Cloud Hybrid Solutions, VPS, Hosting
(866-) 725-4321
http://www.parasane.net/