|
|
<?php
// Returns an array of files from a given directory
// Parameters:
// $Path: directory to get files for (trailing '/' optional)
// $Filter: case-insensitive regular expression (e.g.. ".*html?")
// $Sorted: any value other than "True"/"true" will randomize the array
// Returns 0 if no files match criteria or an array containing the results
// Does not return directories (including '.' and '..')
// adapted from www.php.net documentation
// Very useful for random image display on a page without having to
// use some arbitrary naming scheme
function getDirArray($Path="./",$Filter=".*",$Sorted="True")
{
$handle=opendir($Path);
while ($file = readdir($handle)) {
if (is_file("$Path/$file") && eregi("$Filter", $file)) {
$dirArray[] = $file;
}
}
closedir($handle);
if (!is_array($dirArray)) {
return 0;
}
if (strcasecmp($Sorted,"True")) {
shuffle($dirArray); // May not work on some systems. See php docs
} else {
sort($dirArray);
}
return $dirArray;
}
// Check these samples to see how it works in practice
print "<HTML><HEAD><TITLE>PHP Directory Listing</TITLE></HEAD><BODY>\n";
print "<H3>All files in current directory</H3>\n";
$FileList = getDirArray();
if ($FileList) {
while (list($key,$val) = each($FileList)) {
print "$key: $val<br>\n";
}
}
print "<H3>Graphics files in alphabetical order</H3>\n";
$FileList = getDirArray("./",".*jpg$|.*gif$|.*png$");
if ($FileList) {
while (list($key,$val) = each($FileList)) {
print "$key: $val<br>\n";
}
}
print "<H3>Graphics files in random order</H3>\n";
$FileList = getDirArray("./",".*jpg$|.*gif$|.*png$","random");
if ($FileList) {
while (list($key,$val) = each($FileList)) {
print "$key: $val<br>\n";
}
}
print "</BODY></HTML>";
?> |
|
| grab directory listings into an array the example prints out each
subdirectory in the main dir - further work is to be performed on this one Categories : Filesystem, PHP, Directories, Search, Utilities | | | a file explorer for the web, filesystem php php3 files dirs directories pictures files windows linux system list ls scripts Categories : PHP, URLs, Directories, Filesystem | | | PHP4 DirectoryIterator Class Categories : PHP, PHP Classes, Filesystem, Directories | | | Using PHP to Delete a directory with all sub directories and files using FTP Categories : PHP, FTP, Directories, Filesystem | | | Extended Get File List Function Categories : PHP, Filesystem, Search, Directories | | | Listing the 10 most recently updated files in a given dir by using last-
modified variable and printing to html with link to the file Categories : PHP, Directories, Filesystem | | | Display list of files within current and subdirectories (recursively) showing
each file as an anchored link and each directory as a category header. Categories : Filesystem, Directories, Arrays, PHP | | | A function which places the path and name of all subdirectories into an array Categories : PHP, Filesystem, Arrays, Directories | | | Directory viewer, customize how you display the file structure, easy to
understand. Found out about PHP 3 days ago, and this is my first prog. Categories : HTML and PHP, Complete Programs, Directories, Filesystem, PHP | | | Open directory and File download Categories : PHP, Filesystem, Directories, HTML and PHP | | | Batch Uppercase/lowercase files and directories for a given path. Categories : PHP, Filesystem, Directories | | | Directory Viewer, Directory Content Viewer, Directory Structure to HTML.
This code will basically create a complete set of HTMLs to let a user
navigate through any directory you want. Excellent code for large file
sharing pages. Categories : Directories, Filesystem, PHP | | | List the content of the directory of your webserver where this small PHP Script resides. Categories : PHP, Filesystem, Directories, CSS | | | Directory TreeView - File Manager & Explorer - FTP - Utility - PHP/HTML - Categories : PHP, Directories, FTP, Filesystem, HTML and PHP | | | Moving folder hierarchy b/w server Categories : PHP, FTP, Filesystem | |
| |
| | | | | Glen Davis wrote :177
UPDATE:
Call `srand(time());` right before `shuffle($dirArray)` in
the `if` clause near the end of the function.
| |
|
|