note 70949 added to function.readdir
| From: | etc.) | Date: | Mon, 06 Nov 2006 04:50:00 +0000 |
| Subject: | note 70949 added to function.readdir | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-119415@lists.php.net to get a copy of this message | ||
There's a handy function to discern the date of modification automatically. This will save the
effort of renaming all the files, and of parsing file names. Example:
<?php
//Adapted from code posted by "suit (at) rebell (dot) at
//Control directory access
$allowed_directories = array("/users/username/images/", "http://www.example.com/photos");
$default_directory = $allowed_directories [0];
$allow_subdir = 'true';
//List allowed filename extensions
$extensions = array("jpg", "png", "jpeg", "gif");
//Set a default directory, or get the directory from $_POST data
if($_POST[browse_directory]){
$browse_directory = $_POST[browse_directory];
} else {
$browse_directory = $default_directory;
}
if (is_dir($browse_directory)) {
if ($dh = opendir($browse_directory))
{
while (($file = readdir($dh)) !== false) {
$filename = $file;
$filetype = filetype($browse_directory . $file);
$filedate = filemtime($browse_directory . $file); //Finds file's last date of modification
if ($filename == ".." OR $filename == ".")
echo "";
else {
if ($filetype == "file") {
foreach($extensions as $ext)
if (strtolower(strstr($filename, '.')) == ".$ext") //Checks that the
extension is on the list
$array_file[$filename] = $filedate;
} elseif ($filetype == "dir")
$array_dir[] = $filename;
}
}
closedir($dh);
}
}
echo "<table border=\"1\">\n";
arsort($array_file);
foreach ($array_file as $filename => $filedate) {
$filedate = date("dS M Y", $filedate);
$subdir_n = "$subdir$filename/";
echo "<tr>\n";
echo "<td>file</td>\n";
echo "<td>$filename</td>\n";
echo "<td>$filedate</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
sort($array_dir);
$dir_menu["directory"] = $allowed_directories;
if ($allow_subdir == 'true') {
$dir_menu["sub-directory"] = $array_dir;
}
foreach($dir_menu as $menu_label => $menu_items) {
echo "<H4>Browse $menu_label:</H4>\n<p>";
foreach ($menu_items as $item) {
if($menu_label == "directory") {
$new_directory = $item;
} else {
$new_directory = "$browse_directory$item/";
}
echo "\n</FORM>\n<FORM action=\"browse.php\"
method=\"post\">\n";
echo "<INPUT type=\"hidden\"
name=\"browse_directory\"value=\"$new_directory\">\n";
echo "<BUTTON name=\"submit\" value=\"submit\"
type=\"submit\">$item</BUTTON>\n";
}
}
?>
----
Server IP: 66.163.161.117
Probable Submitter: 70.230.193.30
----
Manual Page -- http://www.php.net/manual/en/function.readdir.php
Edit -- https://master.php.net/note/edit/70949
Del: integrated -- https://master.php.net/note/delete/70949/integrated
Del: useless -- https://master.php.net/note/delete/70949/useless
Del: bad code -- https://master.php.net/note/delete/70949/bad+code
Del: spam -- https://master.php.net/note/delete/70949/spam
Del: non-english -- https://master.php.net/note/delete/70949/non-english
Del: in docs -- https://master.php.net/note/delete/70949/in+docs
Del: other reasons-- https://master.php.net/note/delete/70949
Reject -- https://master.php.net/note/reject/70949
Search -- https://master.php.net/manage/user-notes.php