PHP 简易文件下载页
Posted ZjFree-自由自在
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 简易文件下载页相关的知识,希望对你有一定的参考价值。
使用php做一个超简单的文件下载页。
会自动检测除本目录下的除PHP文件外的所有文件,提供下载,TXT文本文件直接打开查看。
效果如下:
代码如下:
<?php // 用户列表 $user_list = [\'admin\' => \'admin\']; $user = $_SERVER[\'PHP_AUTH_USER\']; $pass = $_SERVER[\'PHP_AUTH_PW\']; if ((@$user_list[$user] ?: \'\') !== $pass) { header(\'WWW-Authenticate: Basic realm="用户登录"\'); header(\'HTTP/1.0 401 Unauthorized\'); die("未登录"); } $list = []; foreach (glob(\'./*.*\') as $r) { $f = pathinfo($r); if ($f[\'extension\'] == \'php\') { continue; } $f[\'size\'] = filesize($f[\'basename\']); $f[\'time\'] = date(\'Y-m-d H:i:s\', filemtime($f[\'basename\'])); $list[] = $f; } function byte_format($size, $dec=2){ $a = array("B", "KB", "MB", "GB", "TB", "PB"); $pos = 0; while ($size >= 1024) { $size /= 1024; $pos++; } return round($size,$dec)." ".$a[$pos]; } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="renderer" content="webkit"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <title>软件下载</title> <style> /* 简易表格 */ table.tb { font-family: Consolas,verdana,arial,sans-serif; font-size:14px; color:#333333; border-collapse: collapse; border: solid 2px #666666; } table.tb th { border: solid 1px #666666; padding: 5px 10px; background-color: #dedede; text-align: center; } table.tb td { border: solid 1px #666666; padding: 5px 10px; background-color: #ffffff; text-align:center; } </style> <link href="https://lib.baomitu.com/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"> <link href="https://lib.baomitu.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> <script src="https://lib.baomitu.com/jquery/3.3.1/jquery.min.js"></script> </head> <body style="margin:10px;"> <h1>工具下载</h1> <hr> <table class="tb"> <thead> <tr> <th style="text-align: left;">文件名</th> <th style="text-align: right;">大小</th> <th>修改时间</th> </tr> </thead> <tbody> <?php foreach ($list as $r){ ?> <tr> <td style="text-align: left;"> <?php if ($r[\'extension\'] == \'txt\'){ ?> <a target="_blank" href="<?= $r[\'basename\'] ?>"><?= $r[\'basename\'] ?></a> <?php } else { ?> <a download="<?= $r[\'basename\'] ?>" href="<?= $r[\'basename\'] ?>"><?= $r[\'basename\'] ?></a> <?php } ?> </td> <td style="text-align: right;"> <?php if ($r[\'size\'] < 1024) { ?> <?= $r[\'size\'] ?> b <?php }else{ ?> <?= byte_format($r[\'size\']) ?> <?php } ?> </td> <td> <?= $r[\'time\'] ?> </td> </tr> <?php } ?> </tbody> </table> </body> </html>
以上是关于PHP 简易文件下载页的主要内容,如果未能解决你的问题,请参考以下文章