PHP获取Linux当前目录下文件并实现下载功能
使用nginx转发过去给php
server{
listen 9099;
server_name 18.5.6.2;
location / {
proxy_http_version 1.1;
root /opt/zidian/crackPass;
index index.html index.htm index.php;
}
location ~* \.php$ {
root /opt/zidian/crackPass;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /opt/zidian/crackPass$fastcgi_script_name;
include fastcgi_params;
}
}
server_name 公网ip
fastcgi_pass 127.0.0.1:9000 转发给php(使用netstat -tlnp | grep php看到php的端口是9000)
index.php
<?php
#echo "<body style='background:url(o_cheng.jpg)'; backgroundRepeat:'no-repeat'; backgroundPosition='top center'; >";
header("Content-type: text/html; charset=utf-8");
function getsize($size, $format = 'kb') {
$p = 0;
if ($format == 'kb') {
$p = 1;
} elseif ($format == 'mb') {
$p = 2;
} elseif ($format == 'gb') {
$p = 3;
}
$size /= pow(1024, $p);
return number_format($size, 3);
}
function read_all ($dir){
if(!is_dir($dir)) return false; $handle = opendir($dir); if($handle){
while(($fl = readdir($handle)) !== false){
$temp = iconv('utf-8','utf-8',$dir.DIRECTORY_SEPARATOR.$fl);
if(is_dir($temp) && $fl!='.' && $fl != '..'){
#echo '目录:'.$temp.'<br>';
#read_all($temp);
}else{
if($fl!='.' && $fl != '..'){
#echo $fl;
#echo '文件:'.$temp.'<br>';
$cfiletime = filectime($fl);
echo "文件:";
echo "<span style='font-size:6px;'>";
echo "<a href='$fl' download='$fl'>'$fl'";
echo "</a>";
echo "</span>";
$size = filesize($fl);
$size = getsize($size, 'mb');
echo "容量:";
echo "<span style='font-size:6px;'>$size.'M'";
echo "</span>";
# echo "创建时间:";
# echo "<span style='font-size:6px;'>" .date("Y-m-d H:i:s",$cfiletime);
echo "</span>";
echo "<br>";
}
}
}
}
}
read_all('.');
echo "<br/>";
echo "<a href='400W常用密码/index.php'>";
echo "<button>400W常用密码</button>";
echo "</a>";
#echo "</body>";
?>
index.php(2018-06-21)
<?php
#echo "<body style='background:url(o_cheng.jpg)'; backgroundRepeat:'no-repeat'; backgroundPosition='top center'; >";
header("Content-type: text/html; charset=utf-8");
echo "<h3 align='center'>";
echo "夏天分享小知识";
echo "</h3>";
ini_set('date.timezone','Asia/Shanghai');
function getsize($size, $format = 'kb') {
$p = 0;
if ($format == 'kb') {
$p = 1;
} elseif ($format == 'mb') {
$p = 2;
} elseif ($format == 'gb') {
$p = 3;
}
$size /= pow(1024, $p);
return number_format($size, 3);
}
function read_all ($dir){
if(!is_dir($dir)) return false; $handle = opendir($dir); if($handle){
while(($fl = readdir($handle)) !== false){
$temp = iconv('utf-8','utf-8',$dir.DIRECTORY_SEPARATOR.$fl);
if(is_dir($temp) && $fl!='.' && $fl != '..'){
#echo '目录:'.$temp.'<br>';
#read_all($temp);
}else{
if($fl!='.' && $fl != '..'){
#echo $fl;
#echo '文件:'.$temp.'<br>';
$cfiletime = filectime($fl);
echo "<table>";
echo "<td width=400px>";
echo "文件:";
echo "<span style='font-size:6px;'>";
echo "<a href='$fl' download='$fl'>'$fl'";
echo "</a>";
echo "</span>";
$size = filesize($fl);
$size = getsize($size, 'mb');
echo "</td>";
echo "<td width=400px>";
echo "容量:";
echo "<span style='font-size:6px;'>$size.'M'";
echo "</span>";
echo "</td>";
echo "<td width=400px>";
echo "修改时间:";
echo "<span style='font-size:6px;'>" .date("Y-m-d H:i:s",$cfiletime);
echo "</span>";
echo "<br>";
echo "</td>";
echo "</table>";
}
}
}
}
}
read_all('.');
echo "<br/>";
echo "<a href='400W常用密码/index.php'>";
echo "<button>400W常用密码</button>";
echo "</a>";
echo " ";
echo "<a href='WPA英文字典/index.php'>";
echo "<button>WPA英文字典</button>";
echo "</a>";
echo " ";
echo "<a href='弱口令集/index.php'>";
echo "<button>弱口令集</button>";
echo "</a>";
echo " ";
echo "<a href='生日1980-2010年/index.php'>";
echo "<button>生日1980-2010年</button>";
echo "</a>";
echo " ";
echo "<a href='超级字典/index.php'>";
echo "<button>超级字典</button>";
echo "</a>";
#echo "</body>";
?>
返回(2018-06-21)
<?php
#echo "<body style='background:url(o_cheng.jpg)'; backgroundRepeat:'no-repeat'; backgroundPosition='top center'; >";
header("Content-type: text/html; charset=utf-8");
echo "<h3 align='center'>";
echo "夏天分享小知识";
echo "</h3>";
ini_set('date.timezone','Asia/Shanghai');
function getsize($size, $format = 'kb') {
$p = 0;
if ($format == 'kb') {
$p = 1;
} elseif ($format == 'mb') {
$p = 2;
} elseif ($format == 'gb') {
$p = 3;
}
$size /= pow(1024, $p);
return number_format($size, 3);
}
function read_all ($dir){
if(!is_dir($dir)) return false; $handle = opendir($dir); if($handle){
while(($fl = readdir($handle)) !== false){
$temp = iconv('utf-8','utf-8',$dir.DIRECTORY_SEPARATOR.$fl);
if(is_dir($temp) && $fl!='.' && $fl != '..'){
#echo '目录:'.$temp.'<br>';
#read_all($temp);
}else{
if($fl!='.' && $fl != '..'){
#echo $fl;
#echo '文件:'.$temp.'<br>';
$cfiletime = filectime($fl);
$mfiletime = filemtime($fl);
echo "<table>";
echo "<td width=400px>";
echo "文件:";
echo "<span style='font-size:6px;'>";
echo "<a href='$fl' download='$fl'>'$fl'";
echo "</a>";
echo "</span>";
$size = filesize($fl);
$size = getsize($size, 'mb');
echo "</td>";
echo "<td width=400px>";
echo "容量:";
echo "<span style='font-size:6px;'>$size.'M'";
echo "</span>";
echo "</td>";
echo "<td width=400px>";
echo "修改时间:";
echo "<span style='font-size:6px;'>".date("Y-m-d H:i:s",$cfiletime);
echo "</span>";
#echo "创建时间:".date("Y-m-d H:i:s",$cfiletime);
#echo "修改时间:".date("Y-m-d H:i:s",$mfiletime);
echo "<br>";
echo "</td>";
echo "</table>";
}
}
}
}
}
read_all('.');
echo "<br/>";
echo "<a href='../index.php'>";
echo "<button>返回</button>";
echo "</a>";
#echo "</body>";
?>
作用:点击链接实现下载文件

PHP获取Linux当前目录下文件并实现下载功能的更多相关文章
- python 获取当前目录下文件(转)
今天继续整理原来写的 python 代码,下面是获取文件信息的 python 处理代码. 获取指定目录下文件的文件名以及文件的数量,然后列出其中还存在的目录名称: #!/usr/bin/env pyt ...
- Java获取Linux上指定文件夹下所有第一级子文件夹
说明:需要只获得第一级文件夹目录 package com.sunsheen.jfids.studio.monitor.utils; import java.io.BufferedReader; imp ...
- linux 目录下文件批量植入和删除,按日期打包
linux目录下文件批量植入 [root@greymouster http2]# find /usr/local/http2/htdocs/ -type f|xargs sed -i " ...
- IO流-获取指定目录下文件夹和文件对象【File类】
一.运用File类实现获取指定目录下文件夹和文件对象 1.File类 2.方法: 获取文件绝对路径 :getAbsolutePath 案例: import java.io.File; /** * 获取 ...
- 【Linux】文件拷贝-Linux当前目录所有文件移动到上一级目录(转)
Linux当前目录所有文件移动到上一级目录 mv * ../
- Linux系统下文件压缩与打包命令
Linux系统下文件压缩与打包命令 常用的压缩文件拓展名 * .Z * .zip * .gz * .bz2 * .xz * .tar * .tar.gz * .tar.bz2 * .tar.xz 压缩 ...
- Spring Boot 获取 java resources 下文件
Spring Boot 获取 java resources 下文件 Spring Boot 获取 resources 目录下的目录(例:获取 resources 目录下的 template 目录): ...
- 查看当前目录下文件个数: $find ./ | wc -l
2.1. 创建和删除 创建:mkdir 删除:rm 删除非空目录:rm -rf file目录 删除日志 rm *log (等价: $find ./ -name "*log" -ex ...
- linux CentOS 安装rz和sz命令 lrzsz 实现windows和linux之间的文件上传 下载
https://blog.nbhao.org/1902.html https://bbs.csdn.net/topics/391989523 https://www.cnblogs.com/zhoul ...
随机推荐
- webapp定位
<!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...
- jQuery绑定事件方法及区别(bind,click,on,live,one)
第一种方式: ? 1 2 3 4 5 $(document).ready(function(){ $("#clickme").click(function(){ alert(& ...
- hbase-java-api001
package api; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfig ...
- (1)打造简单OS-汇编写入引导区,虚拟机启动步骤
首先需要您在网上下载NASM编译器,可以将汇编编译为二进制文件 1.写一段汇编代码在屏幕上打印一段字符,可以运行的!并进行nasm为二进制文件,如下"test.asm" 该段汇编主 ...
- 《大话设计模式》c++实现 装饰者模式
一.UML图 介绍 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创 ...
- SnmpTools配置
上网搜索了很多文档,但是snmptools一直没有配置好,原因就是64机器,网上的说法大多直接复制过来的,或者就没有考虑64位机器.经过仔细搜索和测试,一下是详细的配置过程: Index 安装 如果是 ...
- STL之Map和multimap容器
1.Map和multimap容器 1)map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对.它提供基于key的快速检索能力. 2)map中key值是唯一的.集合中的元素按一 ...
- Python 7 -- 文件存储数据
上一节总结了一个基本web应用的代码,这一节主要讲用户访问的数据记录在log文件中,并显示在页面上. 这节步骤: 按以下目录建好相应的文件夹及内容 webapp|----vsearch4web.py ...
- scu 4444 Travel
题意: 一个完全图,有n个点,其中m条边是权值为a的无向边,其它是权值为b的无向边,问从1到n的最短路. 思路: 首先判断1和n被哪种边连通. 如果是被a连通,那么就需要全部走b的边到达n,选择最小的 ...
- Visual Assist 10.9.2248 破解版(支持VS2017)
[1]下载安装包 下载地址:https://download.csdn.net/download/qq_20044811/10597708 [2]安装与破解方法 第一步:关闭VS所有打开窗体 第二步: ...