自己写个php文件,列出单个目录文件列表.(和没有index文件时一模一样的那样。)

自己写个php文件,列出单个目录文件列表.(和没有index文件时一模一样的那样。),第1张

我2002年写过一个文件实现这样的功能,直接粘贴如下,你试试看能否可用:
<html><head>
<script language=javascript src=/stylejs></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/walljpg">
<div id=body_id>
字体选择:
<button onclick=body_idclassName='14pt' class=14pt>大</button>
<button onclick=body_idclassName='12pt' class=12pt>中</button>
<button onclick=body_idclassName='9pt' class=9pt>小</button>
<script language=javascript>
k=0;
for (i=0;i<iFileCount;i++){
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_href; a_name[k]=tmp_name; a_size[k]=tmp_size; a_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=n;i<m;i++){
k=i;
for (j=i+1;j<m;j++){
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_href; a_name[k]=tmp_name; a_size[k]=tmp_size; a_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=0;i<iFileCount;i++){
documentallitem("FileList")[i]innerText=a_size[i]replace(re,' ')+" "+a_time[i]+" "+a_name[i];
documentallitem("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=historyback()>回退</button> <button onclick=locationhref=\"$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=0;i<iFileCount;i++){
szText=a_size[i]replace(re,' ');
szText=szTextreplace(re2,'<');
documentwrite("<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'readmetxt')) {
echo '<hr><pre>';
readfile($real_dir'readmetxt');
echo '</pre>';
}
if (file_exists($real_dir'readme')) {
echo '<hr><pre>';
readfile($real_dir'readme');
echo '</pre>';
}
if (file_exists($real_dir'readmehtm')) {
echo '<hr>';
readfile($real_dir'readmehtm');
}
if (file_exists($real_dir'readmehtml')) {
echo '<hr>';
readfile($real_dir'readmehtml');
}
}
></div></body></html>

php ,mysql文件都放在C:,apache文件放在其他盘符(还要在其他盘符见一个source文件夹 就是你本机源程序文件放的地方,这个路径要配置在apache\conf\>/
清理缓存
return [type] [description]
/
public function delCache() {
header("Content-type: text/html; charset=utf-8");
//清文件缓存
$dirs = array('/runtime/');
@mkdir('runtime',0777,true);
//清理缓存
foreach($dirs as $dir) {
$this->rmdirr($dir);
}
$this->success('清除缓存成功!');
}
给路径改改

大中小三种,名称是有规律的吧,大的
big_pic_idgif
,
中的
mid_pic_id
,
小的
sml_pic_id
就可以了,或者用
db记录他们的
名字。pic
id
这个是的名,三个都同就可以了。


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

原文地址: http://outofmemory.cn/zz/12844813.html

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

发表评论

登录后才能评论

评论列表(0条)

保存