php文件上传及下载附带显示文件及目录功能
主页面wenjianceshi.php
!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN ' ' http://www .w3。org/TR/XHTML 1/DTD/XHTML 1-Transitional。DTD ' html xmlns=' http://www .w3。org/1999/XHTML ' hearteta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8' /title文件/titlelink href='./张峰/自举/CSS/自举。量滴CSS“rel=”外部no跟随“rel=”样式表type=' text/CSS '/script src=' http :/张峰/jquery-3。1 .1 .量滴js '/script脚本src=' http :/张峰/自举/js/自举。量滴js '/脚本样式类型=' text/CSS ' * { font-family : '微软雅黑;} # wai { width :400 pxmargin :0 autopadding :0 px } #传书{ width :400 pxmargin :0 autopadding :0 px }。围BTN {宽度:100%;高度:30 px} .wjm .wjbtn { width :50%;高度:100%;float : left }/style/head dydiv id='川树表单角色=“表单”操作=“上传”。PHP ' method=' post ' enctype=' multipart/form-data ' div class=' form-group '标签为='inputfile '文件输入/标签输入类型=' file ' name=' file ' id=' input file '/div按钮类型='submit' class='btn btn-default '上传/button/form/div br/br/br/div id=' wai '?PHP session _ start();//定义目录$fname=' ./a ';//需要显示的目录if(!空($ _ SESSION[' fname ']){ $ fname=$ _ SESSION[' fname '];} $ pname=dirname($ fname);//取上级目录if(真实路径($ fname)=' d : \ \ wamp \ \ www \ \ lt \ \ a ')//注意路径的匹配{}//到达了需要显示的最上层目录就不显示上一层标签了else { echo ' button type=' button ' id=' prev ' class=' BTN外BTN BTN-success ' URL=' { $ pname } '返回上一层/button ';}//遍历目录下的所有文件显示$arr=glob($fname)。/*');foreach($ arr as $ v){ $ name=basename($ v);//从完整路径中取文件名$name=iconv('gbk ',' utf-8 ',$ name);if(is _ dir($ v)){ echo ' button type=' button ' class=' BTN dir wai BTN BTN-primary ' URL=' { $ v } ' { $ name }/button ';} else { echo ' button type=' button ' class=' BTN外BTN项目BTN-默认' URL=' { $ v } ' div class=' wjm ' { name }/div class=' wjbtn ' a href='下载。PHP?url={$v} '输入类型='按钮'值='下载url='{$v}' class='下载BTNBTN警告BTN-xs '/a/div/button ';}}?/div/body脚本类型=' text/JavaScript ' $(' .目录').单击(函数(){ var url=$(this)).attr(' URL ');$.ajax({ url:'chuli2.php ',data:{url:url},type:'POST ',dataType:'TEXT ',success:函数(数据){ window。位置。href=' wenjiceshi。PHP ' rel='外部nofollow ' rel='外部no follow ';} });})$('#prev ').单击(函数(){ var url=$(this)).attr(' URL ');$.ajax({ url:'chuli2.php ',data:{url:url},type:'POST ',dataType:'TEXT ',success:函数(数据){ window。位置。href=' wenjiceshi。PHP ' rel='外部nofollow ' rel='外部no follow ';} });})/脚本/html显示:
上传处理页面upload.php
?phpif($ _ FILES[' file '][' error ']){ echo $ _ FILES[' file '][' error '];} else { if($ _ FILES[' FIle '][' size ']10240000){//防止文件名重复$filename=' .a/时间()。$ _ FIles[' FIle '][' name '];//转码$filename=iconv('UTF-8 ',' gb2312 ',$ filename);if(file _ exists($ filename)){ echo '该文件已存在;} else { //保存文件move _ uploaded _ file($ _ FILES[' file '][' tmp _ name '],$ filename);标题('位置:文告书。PHP’);} } else { echo '文件类型不对;}}点击选择文件之后选中了文件会显示:
点击上传即可。
下载处理页面download.php
?PHP $ URL=$ _ GET[' URL '];$ bname=基本名称($ URL);标题('内容类型:文本/html;charset=utf-8 ');$ file _ name=' { $ bname }//用以解决中文不能显示出来的问题$file_name=iconv('utf-8 ',' gb2312 ',$ file _ name);$ FIle _ sub _ path=$ _ SERVER[' DOCUMENT _ ROOT '];$ file _ path=' { $ url }//首先要判断给定的文件存在与否if(!file_exists($file_path)){ echo '没有该文件;返回;} $fp=fopen($file_path,' r ');$ file _ size=文件大小($ file _ path);//下载文件需要用到的头标题("内容类型:应用程序/八位字节流");标头('接受-范围:字节');标题('接受-长度: '。$ file _ size);标题('内容-处置:附件;文件名='。$ file _ name);$buffer=1024万;$ file _ count=0;//向浏览器返回数据while(!feof($ FP)$ file _ count $ file _ size){ $ file _ con=fread($ FP,$ buffer);$ file _ count=$ buffer echo $ file _ con } fc lost($ FP);点击下载会弹出下载框,然后进行下载即可。
点击文件夹或者上一层的处理页面chuli2.php
?PHP session _ start();$ URL=$ _ POST[' URL '];$ _ SESSION[' fname ']=$ URL;以上所述是小编给大家介绍的服务器端编程语言(专业超文本预处理器的缩写)文件上传及下载附带显示文件及目录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
版权声明:php文件上传及下载附带显示文件及目录功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。