php上传文件的目录,php文件上传及下载附带显示文件及目录功能
主页面wenjianceshi.php
文件
*{
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;
}
文件输入
上传
session_start();
//定义目录
$fname = "./a";//需要显示的目录
if(!empty($_SESSION["fname"]))
{
$fname = $_SESSION["fname"];
}
$pname = dirname($fname); //取上级目录
if(realpath($fname)=="D:\\wamp\\www\\lt\\a")//注意路径的匹配
{
}//到达了需要显示的最上层目录就不显示上一层标签了
else
{
echo "返回上一层";
}
//遍历目录下的所有文件显示
$arr = glob($fname."/*");
foreach($arr as $v)
{
$name = basename($v); //从完整路径中取文件名
$name = iconv("gbk","utf-8",$name);
if(is_dir($v))
{
echo "{$name}";
}
else
{
echo "
";
}
}
?>
$(".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" ;
}
});
})
显示:
上传处理页面upload.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
$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_con=fread($fp,$buffer);
$file_count+=$buffer;
echo $file_con;
}
fclose($fp);
点击下载会弹出下载框,然后进行下载即可。
点击文件夹或者上一层的处理页面chuli2.php
session_start();
$url = $_POST["url"];
$_SESSION["fname"] = $url;
以上所述是小编给大家介绍的php文件上传及下载附带显示文件及目录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
php上传文件的目录,php文件上传及下载附带显示文件及目录功能相关推荐
- U盘显示文件或目录损坏且无法读取(U盘提示无法访问解决方法)
按 Win + R 组合键,打开运行,并输入:cmd 命令,确定或回车,打开命令提示符窗口: 命令提示符窗口中,输入:chkdsk g:/f 命令,其中的g是指你U盘的盘符,如果你的U盘盘符为f,这里 ...
- 将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录
将文件上传至ftp服务器,传入File对象,将文件上传至ftp服务器 需要配置修改的点: 1. 服务器ip端口(服务器ip 端口22/21). 2. 服务器账号密码(服务器登录用户名密码). 3. 上 ...
- Python监控目录文件夹,并使用SFTP上传目录及文件到linux服务器
Python 扫描监控本地文件夹并进行超大文件上传 方案1:WebUploader大文件分块多线程并发上传 方案2:watchdog目录文件夹监控,paramiko STFP上传服务器 方案3:优化2 ...
- JSP中的文件操作:数据流、File类、文件浏览、目录操作、上传下载
文件可以永久地存储信息,从本质上讲文件就是存放在盘上的一系列数据的集合.应用程序如果想长期保存数据,就必须将数据存储到文件中,这就涉及到文件的操作.而在编写网站应用程序的过程中,有许多地方要对文件 ...
- python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小
python 实现统计ftp服务器指定目录下文件夹数目.文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类 ...
- java实现ftp连接、登陆、上传、下载、删除文件、获取目录、文件列表
全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现ftp连接.登陆.上传.下载.删除文件.获取目录.文件列表等操作. 本地调试,首先需要在本机上开启ftp服务和ftp站点. 测试代码 ...
- portswigger 目录遍历文件上传
目录 <1> 目录遍历 什么是目录遍历? 通过目录遍历读取任意文件 (1) 去除了多余 URL 解码的遍历序列 (2) 非递归剥离的遍历序列 如何防止目录遍历攻击 <2> 文件 ...
- Python操作FTP服务器实现文件和文件夹的上传与下载,python清理ftp目录下的所有文件和非空文件夹
Python 连接 FTP 服务器并实现文件夹上传实例演示 第一章:连接 FTP 服务器并实现文件夹上传 ① 连接 FTP 服务器 ② 区分文件和文件夹名 ③ 文件夹名包含空格处理 ④ 使用递归实现: ...
- 请将文件MP_verify_N8no8dpNO9n7wuBZ.txt上传至XXX指向的web服务器(或虚拟主机)的目录
1 环境 阿里云ECS服务器 2. 项目部署在tomcat下 问题: 在微信公众平台 填写 网页授权回调域名的时候 第三个 要求没通过 3.将文件MP_verify_N8no8dpNO9n7wu ...
最新文章
- “轻雀”成就团队和个人,共建高效知识协同平台
- HOG和SIFT图像特征提取简述
- CSS transition delay简介与进阶应用
- 开发过程中快速抓包并解析
- 涨姿势 | 服务重启后,为什么发生抖动?
- 推荐一波腾讯专家的技术书单,请收下!
- python 网络编程 问题记录
- Mysql 和oracle的区别
- RxJava尝试取代Handler初探
- span里面插入文字
- 会计云课堂实名认证后怎么更改_离职了,税务局的会计信息还是我,老板就不更改,怎么办?...
- java获取tomcat路径
- GDAL的一个BUG
- mac 查看端口的使用情况
- 世界七大数学难题与Hilbert的23个问题
- python error:‘mbcs‘ codec can‘t encode
- Flutter | Sliver 系列
- caffe调用之前的权重和接着断点继续训练
- 画圆形头像的简单画法
- Linux远程ssh破解