php 读目录以列表形式展示实例
本文章来给大家介绍利用php 读目录以列表形式展示,读取目录我们会使用到scandir,opendir,foreach,sizeof这几个常用的函数,下面我们直接看实例.
例1,代码如下:
<?php $getUrl = (emptyempty($_GET['url'])) ? './' : $_GET['url'] . '/'; function fileName($dir) { $fileAll = scandir($dir, 0); $pathDir = $pathFile = array(); $count = count($fileAll); if ($count <= 2) { echo "空目录<br />"; } foreach ($fileAll as $pdf) { if (is_dir($dir . $pdf)) { $pathDir[] = $pdf; } else { $pathFile[] = $pdf; } } foreach ($pathDir as $pd) { if ($pd == '.' or $pd == '..') continue; echo "<a href=\"?url=$dir$pd\">$pd</a><br />"; } foreach ($pathFile as $pf) { echo "<a href=\"$dir$pf\" target=\"_blank\">$pf</a><br />"; } if ($dir != './') { $dir = rtrim($dir, '/'); $dir = explode('/', $dir); unset($dir[sizeof($dir) - 1]); $dir = implode('/', $dir); echo "<a href=\"?url=$dir\">Go Back</a>"; } } fileName($getUrl); ?>
例2,代码如下:
<?php /** * Goofy 2011-11-30 * getDir()去文件夹列表,getFile()去对应文件夹下面的文件列表,二者的区别在于判断有没有"."后缀的文件,其他都一样 */ //获取文件目录列表,该方法返回数组 function getDir($dir) { $dirArray[] = NULL; if (false != ($handle = opendir($dir))) { $i = 0; while (false !== ($file = readdir($handle))) { //去掉""."、".."以及带".xxx"后缀的文件 if ($file != "." && $file != ".." && !strpos($file, ".")) { $dirArray[$i] = $file; $i++; } } //关闭句柄 closedir($handle); } return $dirArray; } //获取文件列表 function getFile($dir) { $fileArray[] = NULL; if (false != ($handle = opendir($dir))) { $i = 0; while (false !== ($file = readdir($handle))) { //去掉""."、".."以及带".xxx"后缀的文件 if ($file != "." && $file != ".." && strpos($file, ".")) { $fileArray[$i] = "./imageroot/current/" . $file; if ($i == 100) { break; } $i++; } } //关闭句柄 closedir($handle); } return $fileArray; } //调用方法getDir("./dir")……可以是绝对路径也可以是相对路径 ?>
教程链接:http://www.phprm.com/wenjian/fs3959.html
随意转载~但请保留教程地址★