PHP 循环取文件夹里面文件的名称 然后列表

PHP 循环取文件夹里面文件的名称 然后列表,第1张

示例代码:

<?php

 function getFileNames($dir){

     

     //检查是否为目录

      if(is_dir($dir)){

          

          //打开一个目录句柄

          if ($dh = opendir($dir)){

              

              //判断打开的目录句柄中的条目

              while (($file = readdir($dh)) !== false){

                  

                  //判断是否为目录,进入子目录读取

                  if((is_dir($dir."/".$file)) && $file!="." && $file!=".."){

                      echo "<b><font color='red'>文件夹名:</font></b>",$file,"<br><hr>"

                      getFileNames($dir."/".$file."/")

                  }else{

                      if($file!="." && $file!=".."){

                      echo $file."<br>"

                      }

                  }

              }

              //关闭由 opendir() 函数打开的目录句柄。

              closedir($dh)

          }

      }

  }

  //测试示例

  getFileNames("D:\desc")

  ?>

运行结果:

<?php

$page=isset($_GET['page'])?$_GET['page']:1

$size=20

$start=($page-1)*$size

for ($i=1$i<=$size$i++){

    $n=$start+$i

    printf('<a href="%03d.jpg"><img src="./wangwang/%03d.jpg"></a>',$n,$n)

}

if ($page>1) echo "<a href=$PHP_SELF?page=".($page-1).">上一页</a>"

echo "<a href=$PHP_SELF?page=".($page+1).">下一页</a>"

?>

我2002年写过一个文件实现这样的功能,直接粘贴如下,你试试看能否可用:

<html><head>

<script language=javascript src=/style.js></script>

<script language=javascript>

var a_href=new Array()

var a_name=new Array()

var a_size=new Array()

var a_time=new Array()

var tmp_href=''

var tmp_name=''

var tmp_size=''

var tmp_time=''

var i,j,k,sorti

<?php

$base_dir=dirname($_SERVER["SCRIPT_FILENAME"])

$base_len=strlen($base_dir)+1

if ($_SERVER["QUERY_STRING"] == '') $real_dir=$base_dir

else $real_dir=$base_dir.'/'.$_SERVER[QUERY_STRING]

$real_dir=strtr($real_dir,'\\','/')

if (substr($real_dir,-1)!='\\' &&substr($real_dir,-1)!='/') $real_dir .= '/'

$short_dir=substr($real_dir,$base_len)

//while ($short_dir{0}=='/') $short_dir=substr($short_dir,1)

while (substr($short_dir,-1)=='/') $short_dir=substr($short_dir,0,strlen($short_dir)-1)

//if ($short_dir!=''){

//if (strrchr($short_dir,'/')) $up_dir=substr($short_dir,0,strlen($short_dir)-strlen(strrchr($short_dir,'/')))

//else $up_dir=''

//}

echo "//base_dir=$base_dir\treal_dir=$real_dir\tshort_dir=$short_dir\n"

if ($dir = @opendir($real_dir)) {

$i=0

while (($file_name = readdir($dir)) !== false) if ($file_name!='.' &&$file_name!='..' &&substr($file_name,-1)!='~') {

$short_file=$short_dir.'/'.$file_name

$file_path=$real_dir.$file_name

if (is_dir($file_path)) {

$size='<DIR> '

$bgcolor='style="background-color:#aaffaa"'

if ($file_name == '..' ) {$href="$PHP_SELF?$up_dir"$file_name="<上级目录>"}

else $href="$PHP_SELF?$short_file"

}else {

$size=sprintf("%10d",filesize($file_path))

$bgcolor=''

$href=dirname($PHP_SELF).$short_file

}

$time=date('Y-m-d H:i:s',filemtime($file_path))

echo "a_href[$i]='$href'a_size[$i]='$size'a_time[$i]='$time'a_name[$i]='$file_name'\n"

$i++

}

echo "var iFileCount=$i\n"

?>

</script></head>

<BODY BGCOLOR="#FFFFFF" background="/media/wall.jpg">

<div id=body_id>

字体选择:

<button onclick=body_id.className='14pt' class=14pt>大</button>

<button onclick=body_id.className='12pt' class=12pt>中</button>

<button onclick=body_id.className='9pt' class=9pt>小</button>

<script language=javascript>

k=0

for (i=0i<iFileCounti++){

if(a_size[i].substring(0,1)=='<'){

if (i!=k){

tmp_href=a_href[i]tmp_name=a_name[i]tmp_size=a_size[i]tmp_time=a_time[i]

a_href[i]=a_href[k]a_name[i]=a_name[k]a_size[i]=a_size[k]a_time[i]=a_time[k]

a_href[k]=tmp_hrefa_name[k]=tmp_namea_size[k]=tmp_sizea_time[k]=tmp_time

}

k++

}

}

if(k<iFileCount &&a_size[k].substring(0,1)=='<')k++

sorti=k

re = / /g

function do_sort(x,n,m){//对数组[n,m)按 x 方式排序

for (i=ni<mi++){

k=i

for (j=i+1j<mj++){

if (x=='NA' &&a_name[k]>a_name[j] ||

x=='ND' &&a_name[k]<a_name[j] ||

x=='SA' &&a_size[k]>a_size[j] ||

x=='SD' &&a_size[k]<a_size[j] ||

x=='TA' &&a_time[k]>a_time[j] ||

x=='TD' &&a_time[k]<a_time[j]){k=j}

}

if (i!=k){

tmp_href=a_href[i]tmp_name=a_name[i]tmp_size=a_size[i]tmp_time=a_time[i]

a_href[i]=a_href[k]a_name[i]=a_name[k]a_size[i]=a_size[k]a_time[i]=a_time[k]

a_href[k]=tmp_hrefa_name[k]=tmp_namea_size[k]=tmp_sizea_time[k]=tmp_time

}

}

}

function sort_list(x){

if (sorti>1)do_sort(x,0,sorti)

if (sorti<iFileCount)do_sort(x,sorti,iFileCount)

for (i=0i<iFileCounti++){

document.all.item("FileList")[i].innerText=a_size[i].replace(re,' ')+" "+a_time[i]+" "+a_name[i]

document.all.item("FileList")[i].href=a_href[i]

}

}

</script>

<?php

if (file_exists($real_dir.'header')) {

echo '<pre>'

readfile($real_dir.'header')

echo '</pre><hr>'

}

echo "服务器 $_SERVER[SERVER_NAME] 的 $short_dir 目录下面的文件清单:<button onclick=history.back()>回退</button><button onclick=location.href=\"$PHP_SELF?$up_dir\">上级</button><br>".

"长度<button onclick='javascript:sort_list(\"SA\")' class=9pt>↑</button><button onclick='javascript:sort_list(\"SD\")' class=9pt>↓</button>更新时间<button onclick='javascript:sort_list(\"TA\")' class=9pt>↑</button><button onclick='javascript:sort_list(\"TD\")' class=9pt>↓</button> 文件名<button onclick='javascript:sort_list(\"NA\")' class=9pt>↑</button><button onclick='javascript:sort_list(\"ND\")' class=9pt>↓</button><br>\n"

?>

<script language=javascript>

var szText=''

re2=/</g

for (i=0i<iFileCounti++){

szText=a_size[i].replace(re,' ')

szText=szText.replace(re2,'<')

document.write("<nobr><a href='",a_href[i],"' id='FileList'>",szText," ",a_time[i]," ",a_name[i],"</a></nobr><br>")

}

</script>

<?php

closedir($dir)

if (file_exists($real_dir.'readme.txt')) {

echo '<hr><pre>'

readfile($real_dir.'readme.txt')

echo '</pre>'

}

if (file_exists($real_dir.'readme')) {

echo '<hr><pre>'

readfile($real_dir.'readme')

echo '</pre>'

}

if (file_exists($real_dir.'readme.htm')) {

echo '<hr>'

readfile($real_dir.'readme.htm')

}

if (file_exists($real_dir.'readme.html')) {

echo '<hr>'

readfile($real_dir.'readme.html')

}

}

?></div></body></html>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11639653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存