主页面wenjianceshi.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>文件</title>
<link href="../FENGZHUANG/bootstrap/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" type="text/css" />
<script src="../FENGZHUANG/jquery-3.1.1.min.js"></script>
<script src="../FENGZHUANG/bootstrap/js/bootstrap.min.js"></script>
<style type="text/css">
*{
font-family:"微软雅黑";}
#wai{width:400px;
margin:0 auto;
padding:0px;}
#chuanshu{
width:400px;
margin:0 auto;
padding:0px;}
.waibtn{
width:100%;;
height:30px;}
.wjm,.wjbtn{
width:50%;
height:100%;
float:left;
}
</style>
</head>
<body>
<div id="chuanshu">
<form role="form" action="upload.php" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="inputfile">文件输入</label>
<input type="file" name="file" id="inputfile">
</div>
<button type="submit" class="btn btn-default">上传</button>
</form>
</div>
<br /><br /><br />
<div id="wai">
<?php
session_start();
//定义目录
$fname = "./a";//需要显示的目录
if(!empty($_SESSION["fname"]))
{
$fname = $_SESSION["fname"];
}
$pname = dirname($fname); //取上级目录
if(realpath($fname)=="D:\\wamp\\www\\lt\\a")//注意路径的匹配
{
}//到达了需要显示的最上层目录就不显示上一层标签了
else
{
echo "<button type='button' id='prev' class='btn waibtn 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 waibtn btn-primary' url='{$v}'>{$name}</button>";
}
else
{
echo "<button type='button' class='btn waibtn item btn-default' url='{$v}'><div class='wjm'>{$name}</div><div class='wjbtn'><a href='download.php? url={$v}'><input type='button' value='下载' url='{$v}' class='download btn btn-warning btn-xs' /></a> </div></button>";
}
}
?>
</div>
</body>
<script type="text/javascript">
$(".dir").click(function(){
var url = $(this).attr("url");
$.ajax({
url:"chuli2.php",
data:{url:url},
type:"POST",
dataType:"TEXT",
success: function(data){
window.location.href="wenjianceshi.php" rel="external nofollow" rel="external nofollow" ;
}
});
})
$("#prev").click(function(){
var url = $(this).attr("url");
$.ajax({
url:"chuli2.php",
data:{url:url},
type:"POST",
dataType:"TEXT",
success: function(data){
window.location.href="wenjianceshi.php" rel="external nofollow" rel="external nofollow" ;
}
});
})</script>
</html>
显示:
上传处理页面upload.php
<?php
if($_FILES["file"]["error"])
{
echo $_FILES["file"]["error"];
}
else
{
if($_FILES["file"]["size"]<10240000)
{
//防止文件名重复
$filename = "./a/".time().$_FILES["file"]["name"];
//转码
$filename = iconv("UTF-8","gb2312",$filename);
if(file_exists($filename))
{
echo "该文件已存在";
}
else
{
//保存文件
move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
header("location:wenjianchuanshu.php");
}
}
else
{
echo "文件类型不对";
}
}
点击选择文件之后选中了文件会显示:
点击上传即可。
下载处理页面download.php
<?php
$url = $_GET["url"];
$bname = basename($url);
header("Content-type:text/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 "没有该文件";
return ;
}
$fp=fopen($file_path,"r");
$file_size=filesize($file_path);
//下载文件需要用到的头
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length:".$file_size);
Header("Content-Disposition: attachment; filename=".$file_name);
$buffer=10240000;
$file_count=0;
//向浏览器返回数据
while(!feof($fp) && $file_count<$file_size){
$file_con=fread($fp,$buffer);
$file_count+=$buffer;
echo $file_con;
}
fclose($fp);
点击下载会弹出下载框,然后进行下载即可。
点击文件夹或者上一层的处理页面chuli2.php
<?php session_start(); $url = $_POST["url"]; $_SESSION["fname"] = $url;
以上所述是小编给大家介绍的php文件上传及下载附带显示文件及目录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# php文件上传及下载
# php
# 文件上传附带文件及目录
# PHP实现文件上传下载实例
# php文件上传、下载和删除示例
# PHP实现文件上传与下载实例与总结
# php多文件上传下载示例分享
# 上一层
# 上传
# 该文件
# 小编
# 在此
# 就不
# 遍历
# 微软
# 给大家
# 弹出
# 点击下载
# 所述
# 给我留言
# 感谢大家
# 进行下载
# 中取
# 文件上传
# 疑问请
# 有任何
# 保存文件
相关文章:
企业微网站怎么做,公司网站和公众号有什么区别?
宁波免费建站如何选择可靠模板与平台?
行程制作网站有哪些,第三方机票电子行程单怎么开?
浅析上传头像示例及其注意事项
兔展官网 在线制作,怎样制作微信请帖?
如何快速搭建高效服务器建站系统?
长沙做网站要多少钱,长沙国安网络怎么样?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
如何挑选优质建站一级代理提升网站排名?
如何在服务器上配置二级域名建站?
高端云建站费用究竟需要多少预算?
北京网站制作的公司有哪些,北京白云观官方网站?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
网站制作话术技巧,网站推广做的好怎么话术?
,石家庄四十八中学官网?
,网站推广常用方法?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
如何快速搭建高效WAP手机网站?
北京专业网站制作设计师招聘,北京白云观官方网站?
建站之星免费版是否永久可用?
如何快速搭建个人网站并优化SEO?
如何在香港服务器上快速搭建免备案网站?
如何用免费手机建站系统零基础打造专业网站?
建站之星如何实现PC+手机+微信网站五合一建站?
c++ stringstream用法详解_c++字符串与数字转换利器
如何在Golang中指定模块版本_使用go.mod控制版本号
c# Task.ConfigureAwait(true) 在什么场景下是必须的
5种Android数据存储方式汇总
如何通过FTP服务器快速搭建网站?
如何用AWS免费套餐快速搭建高效网站?
模具网站制作流程,如何找模具客户?
,想在网上投简历,哪几个网站比较好?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
如何快速生成橙子建站落地页链接?
教学网站制作软件,学习*后期制作的网站有哪些?
建站主机功能解析:服务器选择与快速搭建指南
建站上市公司网站建设方案与SEO优化服务定制指南
建站三合一如何选?哪家性价比更高?
已有域名如何快速搭建专属网站?
建站之星免费模板:自助建站系统与智能响应式一键生成
深圳网站制作案例,网页的相关名词有哪些?
如何通过万网虚拟主机快速搭建网站?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
如何用好域名打造高点击率的自主建站?
*请认真填写需求信息,我们会在24小时内与您取得联系。