问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

opendir();closedir();readdir();reeinddir();等函数怎么用啊??

发布网友 发布时间:2022-05-14 03:33

我来回答

1个回答

热心网友 时间:2024-02-23 10:09

其实PHP手册里面有例子,我下面粘贴一个我网站上公开资料的例子,不过有点复杂,你在看懂手册例子的基础上会有所收获,或者可以直接使用:

<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)!='~' || $PHP_AUTH_USER!='')) {
$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 "<nobr><a href='$href'>$size $time $file_name</a></nobr><br>\n";
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=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++){
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=0;i<iFileCount;i++){
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>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
不想要淘宝原来的帐号,怎么办,可以注销吗~谢谢了,大神帮忙啊 蓝宝石HD6770显卡求鉴定,GPUZ检测数据如下: 健身60公斤,176身高的人,比较瘦,是不是即便经常锻炼,力气也不一定比胳膊... 农村土地什么情况不予发证?如何解决? 共工治水在前还是怒触不周山在前? 共工触山的故事 有什么类似漂流瓶的软件推荐 漂流瓶软件推荐 保险柜密码怎么改 保险柜密码正确但是打不开怎么办 西安水多少钱一顿 西安哪里可以买自来水 翻唱Rolling in the Deep墨西哥小萝莉叫什么? 有这样的代码吗? C++ 获取鼠标点击 #thatPower的发行信息 这电脑换个b75主板加i53570怎么样?还值得吗?换上的话配置算怎么样?其他件不动 安吉·伍兹奎兹的个人生活 系统还原会影响些什么呀 这款停产主板英特尔 B75 支持超频吗? 粉色篮球鞋应该怎么搭配衣服? 手机内存卡 有filelistvvspt这个文件里面有一个sys4.dat,手机支持MTK平台吗?待机状态下输入*#220807# 你会为高考专门穿寓意好的衣服吗? 为什么我的存储卡里filelistvvspt文件夹和My Music都打不开?说无法访问,什么损坏了,怎么办啊!急急急急 浅草 观音 85解释 耐克衣服贵吗?多少价位 手机内存里filelistvvspt什么意思 观音灵签85问疾病 安踏工作服要自己买的吗? 观音灵签85解签 问跟已分手女友是否还有机会,最终能否成婚? 耐克衣服尺码比安踏大吗? 观音灵签85签问姻缘,请大师详解,我目前很迷茫~ 在美国留学,需要注意哪些 VBS列出某一类文件 请问怎么看ebay店铺最高峰流量和各个商品的浏览量。。 delphi 模拟 windows 文件 复制 粘贴 copytoclipboard 以下是程序代码,那位高人能帮我居中,不管分宽屏还是正屏,分辨率多少,都能居中.谢! 我要PASCAL源程序 怎样做空间模板背景 什么牌子的手机登两个 祛眼袋用射频消融术效果好不好 射频消融去眼袋多少钱 合肥市射频消融去眼袋价格是多少 射频消融法去眼袋要多少钱 射频消融去眼袋的伤口有多大 射频消融祛眼袋大概需要多少钱? ios录屏直播结束就关闭 用一个手机号码注册了两个,旧的被新申请的微信替换了。请问怎么找回旧的? 怎么删除直播防录屏代码 康佳kktv系列都是3d吗 一个手机号码注册了两个之前那个微信怎么找回来 请问我第一个? 我家刚买的康佳KKTV系列50寸的,无线联网后,能上QQ、浏览器看网页,但用户中心注册时,提示网络错误