note 70949 deleted from function.readdir by tularis

From: Date: Sun, 13 May 2007 18:59:06 +0000
Subject: note 70949 deleted from function.readdir by tularis
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-126500@lists.php.net to get a copy of this message
Note Submitter: polyparadigm(amphora)gmail(etc.) ---- 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"; } } ?>

« previous php.notes (#126500) next »