php实现扫描附件的功能,并判断是否是目录,递归访问目录,返回上一层目录功能的实现 功能描述: 我们在做选择附件上传的时候,可能选择在项目中已经上传过的附件,这样我们就需要扫描文件,选择指定文件并上传。 demo入口代码如下: ~~ ~~ ~~
~~ ~~ 文件列表的扫描 ~~ ~~ ~~ ~~ ~~上传文件
~~ 浏览 ~~ ~~ ~~ 核心代码的实现代码如下: ~~ <?php ~~ /** ~~ * 文件的扫描 ~~ * ~~ */ ~~ //文件的存放地址 ~~ $uploadPath = dirname(__FILE__) . DIRECTORY_SEPARATOR; ~~ //请求的目录地址 ~~ $_GET['activepath'] = isset( $_GET['activepath'] ) ? urldecode($_GET['activepath']) : ""; ~~ $activepath = ( isset( $_GET['activepath'] ) && ( trim($_GET['activepath']) ) ) ? trim( $_GET['activepath'] ) : 'upload'; ~~ ~~ $fileList = scanDirList($uploadPath,$activepath ); ~~ ~~ //上一级目录 ~~ if( $activepath != "" && $activepath != "upload" ){ ~~ $preDir = substr( dirname( $uploadPath.$activepath ),strlen( $uploadPath ) ); ~~ }else{ ~~ $preDir = $activepath; ~~ } ~~ $preDir = urlencode( $preDir ); ~~ ~~ ~~ //文件列表的输出 ~~ $fileTrHtml = ''; ~~ ~~ foreach( $fileList as $k=>$v ){ ~~ ~~ $fileTrHtml .= "".($v['isdir']==1 ? '【目录】' : '【文件】' ); ~~ ~~ if( $v['isdir']== 1){ ~~ $v['path'] = urlencode( $v['path'] ); ~~ $fileTrHtml .= " {$v['name']}"; ~~ ~~ }else{ ~~ ~~ $fileTrHtml .= " {$v['name']}"; ~~ ~~ } ~~ ~~ ~~ $fileTrHtml .= ""; ~~ } ~~ ~~ ~~ ~~ $html = << ~~ ~~ ~~ ~~
~~
~~
~~ ~~ ~~
返回上一级目录 当前目录{$activepath} |