[prog] opendir
Cynthia Kiser
cnk at ugcs.caltech.edu
Fri Mar 17 12:40:23 EST 2006
I am pretty sure that all you do is add index.php to the excluded list
that currently reads:
if ($file == "." || $file == "..") continue;
Try
if ($file == "." || $file == ".." || $file == "index.php") continue;
Quoting Wolf Rising <wolfrising at gmail.com>:
> I found this example on php.net in the user comments which allows the contents
> of a web directory to be displayed and works wonderfully, I was wondering
> if anyone would happen to know if there was a simple way to edit the example
> so it doesn't display the index.php file..
>
> As always, thank you...
>
> example appears here: http://us3.php.net/function.opendir in the comments area
> and is copy and pasted below
> ------------------------------------------------
>
> <?
> echo ("<h2>Directory Listing for Accounting</h2>");
>
> function getFiles($path) {
> //Function takes a path, and returns a numerically indexed array of
> associative arrays containing file information,
> //sorted by the file name (case insensitive). If two files are
> identical when compared without case, they will sort
> //relative to each other in the order presented by readdir()
> $files = array();
> $fileNames = array();
> $i = 0;
>
> if (is_dir($path)) {
> if ($dh = opendir($path)) {
> while (($file = readdir($dh)) !== false) {
> if ($file == "." || $file == "..") continue;
> $fullpath = $path . "/" . $file;
> $fkey = strtolower($file);
> while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
> $a = stat($fullpath);
> $files[$fkey]['size'] = $a['size'];
> if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
> else if ($a['size'] > 1024) $files[$fkey]['sizetext'] =
> (ceil($a['size']/1024*100)/100) . " K";
> else if ($a['size'] > 1024*1024)
> $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . "
> Mb";
> else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
> $files[$fkey]['name'] = $file;
> $files[$fkey]['type'] = filetype($fullpath);
> $fileNames[$i++] = $fkey;
> }
> closedir($dh);
> } else die ("Cannot open directory: $path");
> } else die ("Path is not a directory: $path");
> sort($fileNames,SORT_STRING);
> $sortedFiles = array();
> $i = 0;
> foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];
>
> return $sortedFiles;
> }
>
> $files = getFiles("./");
> foreach ($files as $file) print " <b><a
> href=\"$file[name]\">$file[name]</a></b><br><br>\n";
> ?>
> _______________________________________________
> Programming mailing list
> Programming at linuxchix.org
> http://mailman.linuxchix.org/mailman/listinfo/programming
--
Cynthia N. Kiser
cnk at ugcs.caltech.edu
More information about the Programming
mailing list