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 ...
随机推荐
- podofo 一点小分享
PDF 的开源库,大多是Java,或C#的,但C++也有一个很不错的PDF开源库:PoDoFo 我司的PDF签章产品中,我就是用这个PoDoFo库来做的底层 但是国外开源库对中文支持都是或多或少有点问 ...
- 第一次使用theos自己遇到的坑
这里自己遇到的一些问题,总结一下: 第一个问题建立好theos工程后make出现 xcrun: error: SDK "iphoneos" cannot be located xc ...
- bootstrap ui
附加访问地址:http://www.bootcss.com/p/jquery-ui-bootstrap/
- WebSocket.之.基础入门-后端响应消息
WebSocket.之.基础入门-后端响应消息 在<WebSocket.之.基础入门-前端发送消息>的代码基础之上,进行添加代码.代码只改动了:TestSocket.java 和 inde ...
- Ubuntu系统添加搜狗输入法
前端开发时有时候要接触到Ubuntu系统,但由于本身没有拼音输入,故需要自己安装搜狗,记录方法如下: 1.安装前先升级资源库并安装输入法依赖包: $sudo apt-get update $sudo ...
- spark2.2.1 sql001
package sql import org.apache.spark.sql.SparkSession import org.apache.spark.SparkContext object Par ...
- PHP语句函数
运算符 +.-.*./.++.--.+=.-=.% 字符串拼接用. js里面用+拼接 逻辑运算符 and && . or || . ! 错误运算符 @(可以抑制错误) ...
- linux中使用另一用户打开拥有图形界面的程序
在archlinux中使用oracle用户执行oui无法显示图形界面的问题.结果没解决,后来发现执行 xhost +si:localuser:oracle, 然后再使用oracle用户执行oui即可. ...
- Necklace (全排列 + 匈牙利)
#include<bits/stdc++.h> using namespace std; ][], Gra[][]; ]; ]; ]; bool dfs(int u, int vN) { ...
- Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
1.问题场景描述:后台方法中执行查询返回list列表中,执行后台产生运行时异常 java.sql.SQLException: 2.问题排查和解决:排查代码,无编译时错误,断点调试,更具控制台找到对应的 ...