服务器可以配置为显示没有要呈现的索引文件的目录的内容。结果通常视觉效果不佳


我们可以通过使用 PHP 复制此功能来自己控制它。
- 创建一个索引文件(
.index.php
,以点开头,确实)读取目录中的文件并将它们输出到表格中 - 创建一个
.htaccess
文件,将该文件用作索引 - 让索引文件加载也以点为前缀(隐藏)的 CSS 和其他资源
以下 PHP 读取文件目录并显示其名称、文件类型和文件大小的样式化表格。它还应用一个类名,以便为不同的主要文件类型应用图标(请参阅 CSS)。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Directory Contents</title>
<link rel="stylesheet" href=".style.css">
<script src=".sorttable.js"></script>
</head>
<body>
<div id="container">
<h1>Directory Contents</h1>
<table class="sortable">
<thead>
<tr>
<th>Filename</th>
<th>Type</th>
<th>Size <small>(bytes)</small></th>
<th>Date Modified</th>
</tr>
</thead>
<tbody>
<?php
// Opens directory
$myDirectory=opendir(".");
// Gets each entry
while($entryName=readdir($myDirectory)) {
$dirArray[]=$entryName;
}
// Finds extensions of files
function findexts ($filename) {
$filename=strtolower($filename);
$exts=split("[/\\.]", $filename);
$n=count($exts)-1;
$exts=$exts[$n];
return $exts;
}
// Closes directory
closedir($myDirectory);
// Counts elements in array
$indexCount=count($dirArray);
// Sorts files
sort($dirArray);
// Loops through the array of files
for($index=0; $index < $indexCount; $index++) {
// Allows ./?hidden to show hidden files
if($_SERVER['QUERY_STRING']=="hidden")
{$hide="";
$ahref="./";
$atext="Hide";}
else
{$hide=".";
$ahref="./?hidden";
$atext="Show";}
if(substr("$dirArray[$index]", 0, 1) != $hide) {
// Gets File Names
$name=$dirArray[$index];
$namehref=$dirArray[$index];
// Gets Extensions
$extn=findexts($dirArray[$index]);
// Gets file size
$size=number_format(filesize($dirArray[$index]));
// Gets Date Modified Data
$modtime=date("M j Y g:i A", filemtime($dirArray[$index]));
$timekey=date("YmdHis", filemtime($dirArray[$index]));
// Prettifies File Types, add more to suit your needs.
switch ($extn){
case "png": $extn="PNG Image"; break;
case "jpg": $extn="JPEG Image"; break;
case "svg": $extn="SVG Image"; break;
case "gif": $extn="GIF Image"; break;
case "ico": $extn="Windows Icon"; break;
case "txt": $extn="Text File"; break;
case "log": $extn="Log File"; break;
case "htm": $extn="HTML File"; break;
case "php": $extn="PHP Script"; break;
case "js": $extn="Javascript"; break;
case "css": $extn="Stylesheet"; break;
case "pdf": $extn="PDF Document"; break;
case "zip": $extn="ZIP Archive"; break;
case "bak": $extn="Backup File"; break;
default: $extn=strtoupper($extn)." File"; break;
}
// Separates directories
if(is_dir($dirArray[$index])) {
$extn="<Directory>";
$size="<Directory>";
$class="dir";
} else {
$class="file";
}
// Cleans up . and .. directories
if($name=="."){$name=". (Current Directory)"; $extn="<System Dir>";}
if($name==".."){$name=".. (Parent Directory)"; $extn="<System Dir>";}
// Print 'em
print("
<tr class='$class'>
<td><a href='./$namehref'>$name</a></td>
<td><a href='./$namehref'>$extn</a></td>
<td><a href='./$namehref'>$size</a></td>
<td sorttable_customkey='$timekey'><a href='./$namehref'>$modtime</a></td>
</tr>");
}
}
?>
</tbody>
</table>
<h2><?php print("<a href='$ahref'>$atext hidden files</a>"); ?></h2>
</div>
</body>
</html>
在该索引文件中加载的资源是顶部表格排序脚本 sortable.js 和一个 .style.css 文件。(请记住,在文件前加上点会使它们在大多数操作系统中不可见,也不会显示在您的文件目录中(很好)。这是该 CSS
* {
padding:0;
margin:0;
}
body {
color: #333;
font: 14px Sans-Serif;
padding: 50px;
background: #eee;
}
h1 {
text-align: center;
padding: 20px 0 12px 0;
margin: 0;
}
h2 {
font-size: 16px;
text-align: center;
padding: 0 0 12px 0;
}
#container {
box-shadow: 0 5px 10px -5px rgba(0,0,0,0.5);
position: relative;
background: white;
}
table {
background-color: #F3F3F3;
border-collapse: collapse;
width: 100%;
margin: 15px 0;
}
th {
background-color: #FE4902;
color: #FFF;
cursor: pointer;
padding: 5px 10px;
}
th small {
font-size: 9px;
}
td, th {
text-align: left;
}
a {
text-decoration: none;
}
td a {
color: #663300;
display: block;
padding: 5px 10px;
}
th a {
padding-left: 0
}
td:first-of-type a {
background: url(./.images/file.png) no-repeat 10px 50%;
padding-left: 35px;
}
th:first-of-type {
padding-left: 35px;
}
td:not(:first-of-type) a {
background-image: none !important;
}
tr:nth-of-type(odd) {
background-color: #E6E6E6;
}
tr:hover td {
background-color:#CACACA;
}
tr:hover td a {
color: #000;
}
/* icons for file types (icons by famfamfam) */
/* images */
table tr td:first-of-type a[href$=".jpg"],
table tr td:first-of-type a[href$=".png"],
table tr td:first-of-type a[href$=".gif"],
table tr td:first-of-type a[href$=".svg"],
table tr td:first-of-type a[href$=".jpeg"] {
background-image: url(./.images/image.png);
}
/* zips */
table tr td:first-of-type a[href$=".zip"] {
background-image: url(./.images/zip.png);
}
/* css */
table tr td:first-of-type a[href$=".css"] {
background-image: url(./.images/css.png);
}
/* docs */
table tr td:first-of-type a[href$=".doc"],
table tr td:first-of-type a[href$=".docx"],
table tr td:first-of-type a[href$=".ppt"],
table tr td:first-of-type a[href$=".pptx"],
table tr td:first-of-type a[href$=".pps"],
table tr td:first-of-type a[href$=".ppsx"],
table tr td:first-of-type a[href$=".xls"],
table tr td:first-of-type a[href$=".xlsx"] {
background-image: url(./.images/office.png)
}
/* videos */
table tr td:first-of-type a[href$=".avi"],
table tr td:first-of-type a[href$=".wmv"],
table tr td:first-of-type a[href$=".mp4"],
table tr td:first-of-type a[href$=".mov"],
table tr td:first-of-type a[href$=".m4a"] {
background-image: url(./.images/video.png);
}
/* audio */
table tr td:first-of-type a[href$=".mp3"],
table tr td:first-of-type a[href$=".ogg"],
table tr td:first-of-type a[href$=".aac"],
table tr td:first-of-type a[href$=".wma"] {
background-image: url(./.images/audio.png);
}
/* web pages */
table tr td:first-of-type a[href$=".html"],
table tr td:first-of-type a[href$=".htm"],
table tr td:first-of-type a[href$=".xml"] {
background-image: url(./.images/xml.png);
}
table tr td:first-of-type a[href$=".php"] {
background-image: url(./.images/php.png);
}
table tr td:first-of-type a[href$=".js"] {
background-image: url(./.images/script.png);
}
/* directories */
table tr.dir td:first-of-type a {
background-image: url(./.images/folder.png);
}
请记住:.zip 文件可能看起来是空的,但并非如此。所有文件都以点为前缀。在显示“隐藏”文件的文本编辑器中查看它们。
特别感谢 Cliff White。
2012 年 11 月更新:演示和可下载文件已更新为 (1) 显示更易读的文件大小 (2) 具有错误页面
您需要将第 136 行更改为此以避免解析错误。
a href='$dirArray[$index]'
之后这完美地工作了!感谢分享!
//T
那里有 \” 标记以确保这不是问题,但无论出于何种原因,它们都没有显示在显示的代码中。我只是将它们改为单引号以避免问题,谢谢!
当我将 .index.php 重命名为 index.php 并删除点时,它对我有用。不确定为什么我的服务器没有从 .htaccess 文件中获取要执行的操作
@ppahppp 您需要在 Apache 服务器中启用 .htaccess 功能。
将 AllowOverride None 更改为 AllowOverride All,就像下面显示的那样,然后重新启动 Apache。
AllowOverride All
尊敬的先生,
带样式的显示目录很酷,但我想显示不同的目录文件路径,如何在 e 驱动器中有一个名为 upload 的文件夹,我想设置它,无论它有什么内容都应该直接显示
太棒了!谢谢
我正在使用 IIS,它对它有用吗?
@Toji K Dominic 此外,如果它是 Windows IIS 服务器,您需要编辑 Web.Config 文件
<system.webServer>
</system.webServer>
如何显示单个目录/文件夹,例如“视频”
图标功能不适用于 pdf。pdf 文件的文件名前没有显示 favicon。我应该编辑或添加哪一行代码才能使其正常工作?
非常棒的脚本,感谢分享!
不错的脚本。我相信我可以找到一些可以用来做的事情 :)
看起来真的很酷 - 我肯定会在某件事上使用它。
很棒。而且很简单。谢谢!
不错。谢谢。
第 141 行
print(number_format((filesize($dirArray[$index])), 0, ”, ‘,’));
不错!
不过有一件事:请问我在哪里可以找到文件/文件夹左侧的小图标?
这是我使用的图标,它们非常适合所有内容!
http://www.famfamfam.com/lab/icons/
音频的图像 audio.png 的名称错误 - 或者图像 sound.png 在 .style.css 脚本中被错误地称为 audio.png!另外,我添加了
table tr td:first-of-type a[href$=”.wav”],
到声音文件类型的列表中,它在我的 .wav 上也有效 8)
谢谢这个。这是一段很棒的代码,即使对于像我这样的 PHP 新手也很容易添加。
我从这一行收到错误:
print(filesize($dirArray[$index]));
我认为它是原文中的第 141 行,但我只是将 php 部分用作包含在我的自己的 CSS 中,所以它是我的第 48 行。这是错误
警告:filesize() [function.filesize]:档案的 stat 失败 /..(我网站的路径).org/includes/directory_contents.php 第 48 行
我相信错误是因为它正在打印父目录文件夹(及其父文件夹),它们没有文件大小。它工作得很好,除了这两行 - 我不明白为什么它们甚至会被打印出来,因为它们不是目录中的文件……我的文件夹结构是
/newsletters/archives/index.php
,显示文件的表格的第一行显示“archives”,文件大小列下有错误,表格的最后一行显示“newsletters”和另一个文件大小错误。我正在学习 PHP,但我认为设置条件如果不存在后缀,则不包含它可能相当容易……对于更精通 PHP 的人来说,无论如何 :)
有没有人有任何想法?谢谢!
我正在尝试弄清楚,但意识到设置不打印字符串中没有“.”的文件的条件将不起作用,因为导致错误的“文件”实际上不存在 - 它显示父级和“祖父母”目录好像它们是目录中的文件 - /newsletters/archives/archives 和 /newsletters/archives/newsletters
我无法弄清楚是什么导致了这种情况,并且由于它们实际上不存在于目录中,因此我不打印字符串中没有“.”的条件的想法不会有任何影响。而且它还没有。
这是页面
http://bristleconecnps.org/newsletters/archives/index.php
我让它停止显示顶部的空行和第一个错误 - archives 错误,方法是将循环更改为此
for($index=4; $index < $indexCount; $index++) {
从“1”而不是 0 开始去掉了空白,从“4”开始考虑了两个未显示的父目录加上奇怪的错误目录,并从第一个真实文件开始。最后(最后一行)表格中仍然存在错误。
好吧,我的头很疼,我希望你们中一些很棒的 PHP 人员和问题解决者有一些更好的想法!
谢谢。
我刚刚修复了它
for($index=4; $index < $indexCount-1; $index++) {
(将 -1 添加到索引计数中,因此它不会显示最后一个“文件”)
这显然是一个特定于该文件结构的解决方法 - 如果目录位于不同的级别,则需要从不同的位置开始,这使得在我的站点上使用此代码作为任何目录索引文件的包含并不那么简单,但是,它可以工作!
对于所有多次评论帖子,我感到抱歉,但我希望它可能对某些人有所帮助和/或有趣! :)
如果有人有更好的主意来修复它而不是隐藏它,我很乐意听到它。
谢谢!!
这将阻止最后一个文件在目录中列出。您是否知道如何阻止 index.php 显示?
将此行放入您的 .htaccess 文件中
然后将文件重命名为 .index.php(带前导点)。然后,php 脚本将阻止显示隐藏文件。结果:您的 index.php 不会出现在列表中。
非常酷。非常感谢 Chris。我知道我现在来晚了,但我一定会使用你的脚本。
好的……我试用了一下,效果很好。对此我真的很兴奋,但我对代码的了解还不够,无法开始添加内容。但是,如何向目录添加下载功能呢?每个项目都会有自己的下载按钮。只是一个想法,以防有人想尝试一下。再次感谢您的脚本!
嘿,这是很棒的代码,运行起来很流畅!
但我需要打开一个与脚本所在位置不同的目录,我该怎么做?
无法使其工作。它只在我的页面上显示标题……没有文件列表,并且目录中有很多文件。
有什么想法吗?
各位尊敬的用户
您可以只选择某个文件,例如,如果您只想显示“.doc”而该文件夹中可能不存在任何文件,那么您应该替换此代码而不是获取每个条目,如下所示
// 获取每个条目
while($entryName = readdir($myDirectory)) {
if (strpos($entryName, ‘.doc’,1) ) {
$dirArray[] = $entryName;
}
}
Zeyad
有谁知道如何让它不显示某些给定的文件,例如 favicon 或 index.php 文件?
对我来说更好:如何只显示文件夹名称?
有用的脚本。谢谢。
David
嗨,David,
我仔细查看了这个脚本,确实非常有用……我的建议是
定义(就在 while 循环之前):$forbiddenExts = array(“php”, “ico”, “html”);
在 while 循环中,执行与 findexts() 中相同的操作
如果您只想显示文件夹,则在第一个 if 之前再添加一行代码
全部
!is_file()……您不想显示文件……在我的脚本中,我不想显示文件夹…… ;-)
@Benjamin – 我被难住了。我只想显示文件夹,所以我使用了您的附加脚本,并为显示的每个文件夹都获得了“**Notice: Undefined offset: 1 in…**”(在我的情况下,是 5 个通知)。
我认为这是指读取以下代码段:
if(!in_array($exts[1],$forbiddenExts))
建议?
很棒的脚本,但我不知道如何更改文件夹。
每次我更改目录时,都会出现错误,错误出现在 sort($dirArray); 所在的位置。
我该怎么做?
我之前使用过另一种方法,它显示文件夹的内容,并提供链接和预览……如果有人需要代码,请告诉我。示例是 http://www.inktecbots.com/specials.php
您好,我喜欢您的示例的外观,您能否请您提供代码
是的,请用这种方式
你好..
我正在学习使用 php……这段代码很棒……
我遇到了解析错误……那么第 136 行有什么变化?
谢谢
嘿,我让它运行得非常好,但是如果我想显示文件夹和文件,但不包括 php 和图标文件,我该怎么办?我需要更改什么?
看看上面 @Benjamin 的帖子!
对……但在某些情况下,我希望它同时显示文件和文件夹,但不显示 *.ico 和 *.php 文件
救星。
我自定义了脚本以从给定文件夹创建带有链接的简单页面。您不知道这对我有多大帮助,非常感谢。
谢谢兄弟!帮了我很多
如果有人将 $myDirectory 行更改为
$myDirectory = opendir(“c:\docs”);
docs 目录中的文件已正确列出,但是,当单击链接时,链接会尝试从 localhost 目录加载文件。
有没有简单的方法可以链接到 c:\docs 目录中的文件?
谢谢
感谢您提供这段代码。很可爱
我是 php 初学者。这段代码显示了一些错误。此文件的后缀名是 .php 对吧?
我的确切需求是在网页上显示特定本地文件夹中的文件……以便单击链接时下载文件……请谁能帮我做到这一点?我需要用 html。
提醒一下,split() 在 php5.3 中已弃用,因此您需要进行如下修改
$exts = explode("[/\\.]", $filename) ;
它对我有用。非常感谢您分享!
这对我不起作用。我在 php 5 中按原样使用了它,但它根本不起作用。我应该修改什么?
我在更改目录时显示文件大小时遇到问题。
http://infasyssolutions.com/control.php
以上是我正在尝试使其工作的内容。如果我将其保留为(“.”),则一切正常,但当我将其更改为(“images”)时,除了文件大小之外,其他所有内容都正常。关于为什么会这样,有什么想法吗?
你好..这段代码帮了我很多..
但我需要列出目录中的文件夹,如果该文件夹中还有任何文档,也应该列出它们..请帮助我
我找到了解决更改目录问题的办法。
问题是更改目录会阻止文件到文件的超链接工作,并阻止 PHP 处理器访问文件以读取其大小。即使它仍然按预期列出文件夹中的文件。
执行以下操作
————————————————————————–
*替换以下行
替换为以下行
————————————————————————–
另请替换
替换为
如果您使用的 PHP 版本为 5.3 或更高版本,则可能需要使用。
————————————————————————–
替换
替换为
————————————————————————–
并替换
替换为
非常感谢,Jonathan!我被目录问题难住了,您的评论就像魔术一样起作用了!
非常感谢您制作了如此棒的脚本。尤其是透明效果的部分,简直太酷了,地球上最棒的东西之一。
有没有办法从外部域名加载目录?
没有 FTP 访问权限是不行的。
很棒的作品,毫无疑问会帮助很多人。
我还发现重写脚本以显示不同文件夹/位置的内容非常有用,因为它克服了显示某些您可能不想公开的特定文件类型的难题。
但是,我在重写后发现了一个小问题,即文件类型的图标没有显示在目录列表中……在我的情况下,将图标放在名为“img”的文件夹中,我只需要更改第 60 行到第 89 行……
为了节省空间,我只会举一个例子
71 /*docs*/
72 a[href$=”.doc”] {background: url(img/doc.gif) no-repeat left 50%;}
73 a[href$=”.txt”] {background: url(img/doc.gif) no-repeat left 50%;}
74 a[href$=”.rtf”] {background: url(img/doc.gif) no-repeat left 50%;}
希望这有帮助……即使只有一人……
总之……很棒的脚本……非常感谢 ;-)
获取另一个目录中文件的的大小
$dirname = "./YourFolderName" //将“YourFolderName”更改为您的文件夹名称
$filez = $dirArray[$index]; //获取文件名
$path = $dir.'/'.$filen; //文件的路径地址(包括目录路径)
$size = filesize($path); //获取文件的大小
print("$size"); //打印大小
我使用的是 PHP 5.2.10,运行良好。
嗨,非常棒的脚本 - 非常感谢。
我创建了一个页面,使用 Google Docs Viewer 显示我网站上的最新 PDF 文件。
可以将代码添加到脚本中,以便在文件列表中添加“在线查看”链接吗?
我使用的代码如下
” iframe src=”http://docs.google.com/gview?url=http://www.benitezjones.com/uploads/ultima.pdf&embedded=true” style=”width:718px; height:700px;” frameborder=”0″
有什么想法吗?
如何显示上次修改日期?
在 while 循环内添加此行
然后在您想要输出该时间的地方添加(仍然必须在循环内)
您如何通过添加使用第一个图像和文件摘录的缩略图来创建 CSS 存档。
各位好;
感谢耶稣
如果大家能帮忙解决这个问题
如何显示上次修改日期
————————————————–
需要帮助的问题
如何限制显示结果,每页显示 30 个结果 - 事实上,同一个文件夹中有很多结果
任何帮助
拜托
非常感谢。到处寻找其中一个有效的,这段代码非常完美。感谢您添加隐藏特定文件类型功能。这正是我需要的。
如何限制显示结果,每页显示 30 个结果 - 事实上,同一个文件夹中有很多结果
任何帮助
拜托
有没有办法将该目录中的目录标记为这样。我使用单词、字母,如果它们以某种方式被标记会很有帮助。这是我找到的此类最佳脚本。我为此四处寻找,纯粹偶然发现了它。感谢 Andrew 发布此内容供其他人使用
各位尊敬的用户
您可以只选择某个文件,例如,如果您只想显示“.doc”而该文件夹中可能不存在任何文件,那么您应该替换此代码而不是获取每个条目,如下所示
// 获取每个条目
while($entryName = readdir($myDirectory)) {
if (strpos($entryName, ‘.mp3’,1) ) {
$dirArray[] = $entryName;
}
}
因此,将仅显示 mp3 文件
如果您想显示 doc、html、wav 或 ram 文件,则应将 mp3 替换为其中任何一个
Zeyad
Zeyad,您知道如何反转此过程以便我隐藏 mp3 文件吗?
但实际上我希望有人告诉我如何限制此显示,如果文件夹中有大量 mp3 文件
并且希望在浏览器中显示时每页显示 20 个文件
提前感谢
刚刚偶然发现这个。太棒了。正是我想要的,而且对于 PHP 初学者来说,这是一个很好的入门级功能。
谢谢。
文件大小更改,字节到千字节!
替换
替换为
;)
您好,我完全没有修改代码就得到了这个
已弃用:函数 split() 在 C:\xampp\htdocs\test\.index.php 的第 39 行已弃用
每次我添加新文件夹时,都会出现一个新的错误,当我点击隐藏文件夹时,会出现相同的错误,而且次数更多。
阅读上面的评论……在最新的 PHP 版本中,split() 被 explode() 替换了。
我想没有人使用“文件类型”列,该列对我来说不起作用。它似乎打印出完整的文件名而不是扩展名,因此我添加了 substr 函数以从文件名的末尾向后计数 -3,然后向右显示 3 个字符。新代码如下所示。
希望这对任何需要此功能的人有所帮助。
将第 39 行的
$exts=split("[/\\.]", $filename);
更改为$exts=explode("[/\\.]", $filename);
我刚刚将其上传到这里
http://whatshappeningtampa.com/events/
我创建了一个测试目录,但当我尝试访问它时,它显示了一个错误
代码中缺少任何内容吗?或者我不能有子文件夹?
我想我遇到了您遇到的问题,但从您的示例来看,您似乎已经解决了。我可以设置第一个目录的样式,但是一旦移动到另一个文件夹,样式就不会保留,而是默认为难看的标准布局。您可以分享如何让我的子文件夹共享相同的样式吗?
嘿,当我设置时,我得到了这个
每次我添加新文件时,都会出现一组新的三个错误。
你好!
这太棒了。谢谢。
有没有办法默认按字母顺序排序列表?现在似乎是按修改日期排序的。这是否很容易调整?
非常感谢!
有没有办法在进入服务器上的文件夹时保留样式?
您是否找到了解决此问题的方案?我遇到了同样的问题。
为此顶帖!!
你好,
我正在使用这个很棒的代码进行目录列表,并使用 ImageMagick 生成 PDF 缩略图。
问题是,每次我使用以下循环时,都会创建一个新的 jpg 文件。即使它已经存在..
请紧急帮助……
$path =”images/”;
$filename = “$path/$namehref.jpg”;
if (file_exists($filename))
{
$tempimg = $filename;
}
else
{
$result = exec(“convert -density 300 $path/$namehref -thumbnail 150×150 $path/$namehref.jpg”);
$tempimg = “$path/$namehref.jpg”;
//$tempimg = “images/preview.jpg”;
}
//****用于缩略图显示***/
嗨,我完全不懂编码。所以,请原谅我的愚蠢问题。我应该把这些文件放在哪里?我尝试将它们上传到根目录,但没有任何反应。
谢谢提供的脚本,运行良好。有没有办法在点击与文件位于同一目录下的文件夹后,显示相同的样式?
为了在打开子目录时保持相同的样式,我设法让它为我工作了。
在页面开头设置一个变量来接收目录。
在FOR循环中,我检查了文件类型,
如果filetype($namehref) == ‘file’
打印
如果filetype($namehref) == ‘dir’
使用<a href=$PHP_SELF?dir =directory链接回同一页面
您可能需要调整目录以满足您的需求。
我在让子文件夹共享相同的样式方面遇到了一些问题。我的根文件夹看起来很棒,但是一旦我点击另一个文件夹,默认样式又回来了。你能否详细解释一下如何构建for循环并提供一个示例?抱歉,我不太擅长php。
您是否可以发布您用于在进入目录时保持格式的脚本副本?我尝试了你发布的示例,但一直收到解析错误。
谢谢
一个很棒的脚本.. 谢谢….它第一次就为我工作了,但是我遇到了一个我认为与脚本仅关注 3 个字符的文件扩展名相关的问题。
我遇到了一个问题,我的服务器上有 .docx 和 .xlsx 文件。虽然它在页面列表中正确地显示了它们,但当我点击下载它们时,保存窗口默认为将它们保存为 .zip 而不是原始的 4 个字母扩展名。
您能否推荐对脚本进行哪些更改来解决此问题?
提前感谢
Tim
哦,刚刚意识到我只有在 IE8 中才能获得这些结果,而 Chrome 似乎工作正常。
大家好,
我刚刚部署了这个脚本。
演示地址:http://hopquacuoi.com/kt/
谁能帮我将此脚本与以下功能嵌入:
1. 删除功能(可以删除/移除显示的文件)
2. 预览功能(可以预览文件)
3. 警报功能。我想嵌入一个类似这样的提醒:http://www.fremeaujewelers.com/reminder/。
非常感谢
Tung
嗨,Tung
您是否有更新代码的副本?这正是我在我们内部纸质 PDF 系统中需要的。
谢谢
我也尝试在 manabreakfast.com/commissions 上对该网站进行密码保护,当我将代码添加到 .htaccess 文件并上传 .htpasswd 文件时,它给了我一个 500 错误。是否还需要执行其他操作才能保护此目录的密码并使用此样式化的目录内容?
您好,这太棒了!
不过,有一个问题….我的浏览器无法显示文件或强制下载。我收到 403 错误。请帮忙!这太棒了……
嗨,各位,
非常感谢您的工作
我遇到了同样的警告,并尝试了很多方法来修复它
没有解决方案
如果您能帮忙,请帮帮我
这是警告
警告
filesize() [function.filesize]: stat failed for aigle_005.jpg in C:\wamp\www\Tests\.index.php on line 79
警告:filemtime() [function.filemtime]: stat failed for aigle_005.jpg in C:\wamp\www\Tests\.index.php on line 82
这两个函数都不起作用
谢谢
您好,我想知道是否对该脚本进行了任何修改,可以强制用户下载每个文件(PDF、JPG 等),而不是在浏览器窗口中打开它?
谢谢,顺便说一句,很棒的脚本!
我刚刚下载并将所有文件单独解压缩到我想要使用的文件夹中,但我没有看到任何变化,我只看到了默认的索引页面,我是否错过了什么?或者我没有更改文件中的一些内容以使其工作,而您没有充分解释,请帮忙,如果您回复/给我发电子邮件,我将不胜感激。
顺便说一句,我只了解基本的 HTML 代码,但我从我的家中运行自己的 Web 服务器。
我相信您需要的文件是隐藏文件(以“.”开头)。将您的计算机配置为显示隐藏文件,您将看到下载文件夹中的隐藏文件。
首先,感谢您的回复!
其次,这不是我的问题,我使用 WinRAR 打开 zip 文件,可以看到、移动和修改文件,但它们在我的网站上无法加载,如果这很重要,我正在 Ubuntu 12.04 LTS 上使用 Apache 2.2 运行它。
您是否启用了 php 并使用了正确的 chmod 设置?
如果这是您必须更改的其他内容,我对此表示怀疑,有没有办法帮我看看是否是这个问题?
嗯….不确定那个。我将文件加载到我的服务器上,它就可以工作了。抱歉….祝你好运。
好的,我现在安装了 php5,还有什么我可以尝试的吗,“bud”?
就我个人而言,我不知道如何在服务器上设置 php。但是,如果您已完成此操作,请对其进行测试以确保其有效。尝试几个简单的 php 脚本,然后继续使用此脚本。
所以您知道是否使用 Linux 托管服务器
sudo apt-get install apache2
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5
sudo /etc/init.d/apache2 restart
我还可以通过将页面上的链接指向实际的 .index.php 文件来使其工作,但由于某种原因,它不会自动指向该文件,必须像普通链接一样创建链接。
使用 html 如何在 tomcat 服务器中打开显示目录内容..请帮帮我
我正在尝试找出要替换的确切代码,以便我可以搜索所有名称以 E05 H06.mp4 开头的文件,我想只交付 E05 的文件。任何帮助将不胜感激
与 Jared 遇到相同的问题。希望在列出的文件夹内保持样式。有没有办法做到这一点?Yh 提供了一些解决方案,但我无法实现它,因为我是一个 PHP 新手。
嗯….这可能就像将所有原始文件夹和文件放入每个子目录中一样简单,以实现这一点?
嗯….这可能就像将所有原始文件夹和文件放入每个子目录中一样简单,以实现这一点?
….不,这太耗时了,并且在您拥有非常复杂的目录树结构时需要花费很多时间。
好吧。我用困难的方法做了。我将 .index.php 文件复制到子文件夹中,并更改了指向 sortable.js 和 .css 文件的链接,它就像魅力一样工作。我对 css 和 html 比 php 更熟悉。我相信有更好的方法来做到这一点….但在那之前我必须使用这个。
脚本在我的网站上运行正常,但图标不起作用。有人可以帮我提供安装此脚本的步骤吗?我对 php 有点慢。详细的分步说明真的会有所帮助。
您必须确保图标图像的路径正确。我在多个位置使用此脚本,但图标的图像我使用完整的位置地址 - 没有快捷方式,以便我可以这样使用脚本。
您在哪里找到图标图像的路径?我所做的是:
1. 我下载了 zip 文件
2. 我解压缩了内容
3. 我获取了文件的内容,并将文件中的所有内容放在我想生成链接的服务器上。
4. 我将页面引导到加载
http://www.exeple.com/none/.index.php
它可以工作,但左侧的图像没有出现。
我知道我做错了什么。这是一个很棒的代码。如果我弄不明白,也没关系,我会按现在的样子使用它。但我如果不问就不会学到东西,而且我不想半途而废。非常感谢您的帮助。谢谢
不要忘记目录前面有一个点 - .images
如果你去掉了文件夹前面的那个点,它将无法工作。我看到这个脚本附带的图标有限。css 文件是为文件类型设置图像的位置。确保它指向我上面提到的正确位置
顺便说一句,您发布的页面没有显示您正在谈论的脚本。我看到的页面上没有任何与脚本相关的内容????????
抱歉,但该网站只是一个示例,不是一个活动的网站,对此表示歉意。我明白你的意思,css 文件要指向 .images 文件夹。我还没有这样做。非常感谢,我会尝试一下并告诉你。再次感谢。非常有帮助。
你好
我想知道这段代码是否允许您隐藏与图像位于同一目录中的 .html 或 .php 文件
我提前感谢您的帮助
Tide,我同意。我看到人们添加代码来仅显示 mp3 文件或 doc 文件。我希望反过来,这样我们就不会显示 php 文件。
谢谢兄弟!出于安全原因,我已删除了“显示隐藏文件”功能。
Ralph,您是如何修改以删除“显示隐藏文件”的?
我尝试了上述解决方案(Benjamin 2010年9月29日),并获得了所有单个文件,没有文件夹(不是我想要的),当我点击显示隐藏文件时,它们都在那里,所以对我来说不起作用。
我尝试使用 Markdown 来放置代码块,但它会解析代码块中的 html 和 PHP 代码。我无法在此表单中放置代码“此论坛应坚持使用 bb 代码,没有人会花一个多小时来学习如何正确使用标记以及此论坛用于回复的其他任何内容来回复几个单词。”话虽如此
我在 .index.php 的最后一个 echo 的 php echo 字符串上添加了注释
在 ?php 之后
有没有办法使其在所有目录和子目录中工作,而无需将代码复制到每个目录中?
希望使其工作方式类似于 ftp://triad-atlanta.com/
这太棒了,想知道如何为每个文件提供“删除”功能
找到这个让我的一天变得很棒!!!非常感谢。我遇到一个问题,如果有人知道的话。我添加了代码
我用密码保护了目录,因此每个文件都有一个“LCK”文件。当我将该扩展名添加到“$forbiddenExts”行时,它们仍然显示出来。如果我在代码中添加“pdf”,则 pdf 文件和 pdf.LCK 文件将被隐藏。我只想隐藏 LCK 文件。有什么想法吗?
我确实在 .htaccess 文件中添加了“IndexIgnore *.LCK”,但现在我使用它时它们又出现了。请帮忙!
我使用此代码创建目录并在 iFrame 中打开 index.php 页面,以便可以通过菜单栏显示不同的目录。我遇到的问题是,当我需要在新的窗口中打开时,所选文档会在 iFrame 中打开。我已将 target=’_blank’ 添加到输出表中,但它不起作用。有什么建议吗?
请忽略我的问题。我盯着它看的时间太长了,我的 iFrame 引用了不同的文件!菜鸟错误!target=’_blank’ 的工作原理完全符合预期。
我似乎无法使返回的链接在新窗口或选项卡中打开。
添加 target=’_blank’ 会导致错误,导致任何文件都无法加载
任何帮助?
你好,
首先感谢您提供精彩的脚本,它帮助了我很多。
脚本运行完美,我遇到的问题是
1) 我的服务器上有大量的文件列表,我希望如果可以将搜索集成到此脚本中。这将真正帮助我。
2) 如果可能的话,在顶部显示字母,以便当有人点击它们时,只会显示以该字母开头的文件。
你好,
这篇文章非常宝贵,但是我,就像这里的一些其他人一样,正在寻找一种方法来将这种显示风格扩展到子文件夹。将文件放在每个子文件夹中对于我的使用来说非常不切实际。
如果有人知道如何做到这一点,请告诉我!
如何防止在进入子目录时丢失格式?
感谢您的帖子,
John
这太棒了!!
我目前正在使用它,我们非常喜欢它 :)
谢谢!!!
您好,感谢您的帖子。它对我有用!但我希望它包含一个“删除”按钮,我可以用来删除上传的文件。
运行代码时出现以下错误。有人可以帮我找出需要更改代码的哪一部分吗?我收到此错误以及其他类似于文件大小的错误。谢谢
警告:filemtime() [function.filemtime]:/home2/combsb/public_html/file_display.php 第 80 行的 Combs 2012 Bell TNG.pdf 统计失败
不错的代码。但是我想正确显示时间。HH:MM DDMMYY。不太熟悉这样的代码,所以任何人都可以指出显示日期和时间的位置,以便我可以更正它吗?
非常感谢!这真的帮了我的大忙!!
出于安全原因删除了显示隐藏文件
处理子目录(现在子文件夹保持相同的样式)
http://pastebin.com/edvpqBg5
附注:抱歉,我已将文本翻译成意大利语
嗨,“Wilds”,
感谢您的代码。但是子页面上的文件时间和大小存在一个小问题。它只在主页上完美运行。在子页面上始终显示 1970年1月1日 00:00 且没有大小。
如果您能检查一下,那就太好了。
我已对 Wilds 发布的脚本版本进行了更新。他的代码中存在一些错误,导致日期和大小未正确显示。我还更改并添加了一些内容。您现在只需要将其放置在根目录中,所有样式都将应用于子文件夹。代码已从 .index.php 分离到单独的文件 .engine.php 中。我还更改并添加了更多图标和文件类型。有一个 header.html 和 footer.html,因此您可以在不更改与列表关联的文件的情况下进行自定义。
就是这样。您可以在我的网站(ish)上找到它的演示(它并非一直可用)。
演示
http://squirrelhouse.no-ip.info/
这是下载链接
http://squirrelhouse.no-ip.info/Downloads/PHP/DirList.7z
您需要 7-zip 来解压缩文件
嗨,Paul,
如果您能更新您发布的链接,那就太好了。
感谢所有为这段代码提供示例和调整的人。它非常有帮助。
是否可以在每个文档名称的左侧添加一列,其中包含一个红色的 X,该 X 仅允许管理员删除文件?只有当用户以网站管理员身份登录时,才会显示此红色 X。
是否还可以添加一个仅对网站管理员可见的文件上传器,该上传器会将文件放置到正在查看的文件夹中?
我现在正在使用这个脚本显示目录内容,并让网站管理员使用FileZilla管理文档。如果能直接通过网站管理所有内容,会方便得多。
我在Wilds提交的版本(我的版本就是基于它改编的)中发现了一个安全问题。我已经修复了这个问题,并更新了原始的DirList.7z和DirList2.7z。对于已经下载我版本的用户,您需要重新下载或在engine.php中list_files函数的开头添加以下代码。
删除检查$_SERVER[‘QUERY_STRING’] || …的if语句。
并用以下代码替换它
之前,如果用户输入了..或./或任何其他变体,他们将能够查看服务器根目录之外的目录列表(无法读取或修改)。看起来Wilds已经考虑到了这一点,但代码无法正常工作。
http://squirrelhouse.no-ip.info/Downloads/PHP/DirList.7z
Paul,我也想看看你的作品(DirList7z. & DirList2.7z),利用Wilds的杀手级脚本和ext. header/footer html包含。似乎squirrellhouse URL已经停止使用了……提前感谢!
感谢您的帮助!我想实现Paul的DirList.7z解决方案,但我无法下载,链接是正常的……
其他人可以发送相同的脚本吗?
谢谢,
我设法在每一行的末尾添加了一个delete.png图像。这里没什么难度,但我不知道按下图像时如何删除文件。
有了解的人可以提供一些建议吗?
@Paul – 我也尝试了您的下载链接 – (http://squirrelhouse.no-ip.info/Downloads/PHP/DirList.7z),但下载失败。您能否将其上传到**dropbox**等平台?提前感谢。
我注意到,每当我尝试上传大于2MB的文件时,都会发生错误。文件上传失败。
谢谢 - 这很酷!
相关问题 - 是否有任何方法可以在不使用PHP(或任何其他服务器端脚本)的情况下获得(相对)相同的效果?我意识到我提出的问题的深度 - 我想对一个定期刻录到CD以供分发的开放目录应用样式,而无需在每次目录内容更改时都更新编码。
目录中的文件按照随机时间表更新。我希望最终用户能够看到文件目录,但不要看起来像我孩子做的。
我喜欢这个脚本。
除了我发现其中的一些缺陷,我想知道是否有人可以填写缺失的部分。
主脚本很漂亮,但我想要转到一个特定的目录。
Wilds提供的第二个脚本(意大利语)非常适合以正确的CSS样式显示另一个目录,但文件大小和修改日期无法正常工作。
而且出于某种原因,当我更改目录时,我无法显示或下载文件,因为当我单击它时,它想要给我一个与我的目录路径不同的目录结构。
所以如果有人能帮忙,我将非常高兴。
修复了文件大小和日期错误:http://pastebin.com/edvpqBg5
抱歉,但我无法重现目录结构问题。
嗨,Wilds,我的脚本出现了一些错误。我在一个有很多文件的网站上使用它,但问题是我无法下载.exe .jpg或.txt扩展名的文件,rar或zip文件可以正常工作。你能检查一下吗?谢谢。
没关系,现在可以正常工作了。我的服务器出了问题。谢谢。
顺便说一句。有没有办法,而不是显示“目录内容”(contenuto),而是显示当前目录的名称??
你好,我正在使用你的代码。我这里有一个问题,如果一个文件夹包含像:” ,+’ 等字符,它将无法显示其中的文件,因此我应该重命名/删除该字符。如何解决这个问题?
嗨。我知道文件可以隐藏,即文件名之前的(.),但我同一个目录中有一个文件,我不能在它前面使用(.)。是否有任何可以添加的代码,我可以指定隐藏文件,无论它前面是否带有(.)?
谢谢
好的,现在它显示了当前目录名称:http://pastebin.com/SjbjbqPR
太棒了!!!谢谢
我喜欢这个脚本。
但是我能否先显示目录(按A->Z排序),然后再显示文件(按A->Z排序)?
http://pastebin.com/FTTzpLM1
运行良好!现在只剩下最后一件事了——如何添加一个“下载”按钮,强制下载而不是在浏览器中打开?
有没有人找到一种方法允许某些用户删除文件?我能否将此脚本添加到一个具有受限访问权限的页面,以便他们可以删除旧文件?我正在尝试构建一个网站,允许不同的厨师在他们的菜单更改时上传他们的菜单。我已经创建了会员登录部分,并找到了让每个厨师上传PDF文件的方法。我希望他们能够从他们的个人目录中删除旧菜单。此删除功能将限制在每个厨师,以便他们只能删除他们自己的文件。
我无法在任何Android设备上运行它。它在所有最近的浏览器和Apple产品上都能完美运行,但在所有我测试过的三星手机上却无法运行。其他人遇到过同样的问题吗?
很棒的代码,但是要在子目录中显示相同的样式,我必须将所有文件也放入其他子目录中 ;-)
我之前曾让它工作过一段时间,但现在又回来了,因为我想看看是否有人修改或添加了代码以在文件列表中显示图像尺寸。
好的,我在这个“php代码片段”部分找到了这个片段。
如何将其添加到样式化的目录内容脚本中。我是一个完全的新手,不知道在哪里添加它?
任何帮助将不胜感激
我自己让它工作了 -
我第一次能够自己用php做这样的事情。
酷……
嗨,Bud,
我知道已经过去很久了,但是你能分享一下你是如何让图像尺寸显示工作吗?
我有一个目录,其中包含几个子文件夹。父目录使用plesk面板应用程序进行用户名和密码保护。当我将此代码放在父目录中时,它似乎与登录凭据冲突,并为该页面返回404错误。如果我把我的旧目录索引代码放在父目录中,它看起来很丑,但是当我点击子文件夹时,它们按照这篇文章所说的工作,因为我在每个目录中都有这篇文章的文件。
有没有人对解决父目录中的登录冲突有任何建议?
谢谢
Bryan
没关系。我继续为父文件夹编写了一个html页面,这解决了我的问题。不过还是要感谢您。
嗨。下载文件后,将.images文件夹放在哪里最好?
抱歉,补充一下我上一篇文章。当我加载浏览器时,我看到“翻译”来自西班牙语..是否有英文版本,或者我可以编辑脚本。
谢谢
我需要修改此代码以防止显示 XML 和 MHT 文件
此外,希望按日期排序。
喜欢这个脚本,但需要更改目录。我尝试过这个
// $myDirectory=opendir(“.”);
$myDirectory=opendir(“/var/www”);
但只得到没有结果的样式显示页面。是否有简单的方法
切换目录从“.”
我想回答你自己的问题帖子总是一件好事。
$path = “/home/david/Downloads”;
// 打开目录
// $myDirectory=opendir(“.”);
$myDirectory=opendir($path);
现在将显示放置在 $path = ” “ 中的任何目录路径
尝试排除某些文件扩展名。当我使用上面 Benjamin 的代码时,我得到了一堆未知内容而不是文件名。
如果我使用上面 zeyad 的代码,我会得到一个没有任何文件的页面。无论我在其中放入什么扩展名,它都不会显示任何文件。
请帮忙…
我已经让排除文件扩展名工作了,但是……当我进入子目录时,我失去了格式。
有人可以告诉我代码中究竟是什么控制着它吗?
我不得不将文件放在每个子目录中才能使其正常工作。
好吧,我撒谎了。这是我的问题
无法过滤掉我不想的文件扩展名
想要按日期排序
图标不会显示在文件名旁边。
我想创建一个链接来显示父文件夹……但不允许显示隐藏文件……比如 .htaccess .index.php……
这个问题已经解决了吗?
我也想显示父文件夹,但不要显示隐藏文件和隐藏开关。
谢谢
Cody,确保文件中使用的图像路径正确。当我这样做时,我也必须修复它。
如果我看到 .htaccess 文件,图像是如何影响的?
如何在名称中包含空格的目录中将空格替换为 %20?
例如:“www.mysite.com/?index/my images”
我希望它像这样“www.mysite.com/?index/my%20images”
谢谢,它对我有用..没有任何更改
文件图像仅在我的根目录中有效。我需要编辑哪些文件和代码行才能使文件图像也显示在子目录中?
回答了我自己的问题!
事实证明子文件夹图标正在工作。我的网站主要包含 PDF 文件。代码在 css 中没有 PDF 图标代码。我只需要添加 PDF 文件的代码行!
已解决!
我想将它用于视频库,所以我使用 $myDirectory=opendir(“Videos”); 而不是 $myDirectory=opendir(“.”);。
但是,当我点击文件链接时,我收到 404 错误,当我查看 404 错误页面时,我注意到它说请求的 URL 是 https://127.0.0.1/“视频名称”而不是 https://127.0.0.1/Videos/“视频名称”
我该如何纠正?
是否有一种方法可以在不显示父文件夹的情况下显示列表?“.” 和 “..”?
如果您从
if (substr("$dirArray[$index]", 0, 1) != $hide || ($currdir != '.' && $dirArray[$index] == "..")) {
中删除|| ($currdir != '.' && $dirArray[$index] == "..")
它应该会删除父文件夹。
无论如何,这对我有用。
如何重命名目录文件名称??请帮我
默认情况下没有按日期排序的方法吗?
你好
我正在尝试在同一网页上多次使用此代码,并且我得到了奇怪的结果。
第一次它正确地显示了文件夹中的文件。
第二次,它显示了来自此文件夹和第一个文件夹的文件。
然后第三次你得到所有 3 个文件夹的文件。
如何停止重复文件?
谢谢
一切在 Chrome 中都运行良好,但 IE8 没有显示任何图标。
是否可以修改任何内容以使其与 IE8 更加兼容?不幸的是,我被迫支持此浏览器。
谢谢,做得棒!
这太棒了!
我看到一个错误,如果你的文件名中包含撇号,则文件图标将默认为文档图标。
例如,名为 John’s Song.mp3 的音频文件不会显示音频图标,因为有撇号。
有什么办法解决这个问题吗?
有谁知道如何修剪文件夹和文件的名称,例如仅显示文件名的前 25 个字符。
提前致谢
是否可以为目录显示不同的文件夹图标?
例如,我想为我的照片目录、我的视频目录、我的 zip 目录等使用不同的图标。
非常感谢您的任何帮助,Kim。
我们如何按上次修改日期(默认)对文件进行排序。我希望在打开页面时按日期对文件进行排序。谢谢。
你好
如何在文件中为所有子文件夹实现样式?
谢谢
感谢这个很棒的脚本。 :)
我遇到一个小问题。我使用了 Wilds 的修改版本。文件大小仅显示“字节”一词,并且所有文件的上次修改时间仅显示“1970年1月1日凌晨1:00”。我该如何解决?
对于警告:Warning: filesize() [function.filesize]: stat failed for….
试试这个:$dirArray[$index]=$_SERVER[“DOCUMENT_ROOT”].”/dash/welcome/gbr_email/”.$dirArray[$index];
对于警告:Warning: filesize() [function.filesize]: stat failed for….
试试这个:$dirArray[$index]=$_SERVER[“DOCUMENT_ROOT”].”/YOUR FOLDER/”.$dirArray[$index];
当我尝试点击我的文档文件夹时,我收到了此错误
禁止
您没有权限在此服务器上访问 /personale/vedi/APPO/。
此外,在尝试使用 ErrorDocument 处理请求时遇到 404 未找到错误。
有什么想法吗?
谢谢 Fabrizio
嗨,我真的很喜欢这个代码和 wolf 对它的修改,但我想知道是否有人能够包含 javascript 来创建按钮或滑块以在列表视图和网格视图之间切换。以及如何更改默认文件夹而不出现错误。
默认文件夹,我的意思是我的页面为 index,但我想在我的 index 页面中显示不同的目录。
你好,我用它来处理本地文件,运行得很好,但是我想连接到一个使用 SFTP 的网络文件夹。对于 PHP 新手来说,这操作起来容易吗?如果能提供一个复制粘贴的示例就太好了。
您好,
我正在使用此脚本在我的网站上观看视频。但是,当我使用 target="_blank" 时,它也会在新标签页中打开“上级目录”。有没有办法只在新标签页中打开文件?
提前感谢。
此致,Alex
@pedro
引用
有谁知道如何修剪文件夹和文件的名称,例如仅显示文件名的前 25 个字符。
查找
// 获取 favicon.ico,并显示它,仅当它存在时。
添加在上面
// 将文件名标题修剪到 25 个字符
$name = strlen($name) > 25 ? substr($name, 0, 25) . '...' : $name;
您可以通过将上面两个 25 更改为您需要显示的数量来更改显示数量。
我有一个使用 html5 而不是 php 构建的网站,但希望目录具有相同的样式。
这可能吗?
干杯
您拥有的服务器上是否启用了 php?
简洁的代码,运行起来非常棒。为了阻止它提供显示隐藏文件的选项,我只是删除了执行此操作的那行代码。
我想知道的是,如何才能使其仅显示文件名,并在手机上查看时使文本更大,或者使其对屏幕尺寸做出响应(无需“类型”、“大小”和“修改日期”)?
非常感谢。
添加了 background-size: 16px 16px; 以避免 favicon 图像大于此尺寸时的显示错误,还检查了一些文件夹以查找 favicon
$chemins_favicon = array(
“img/”,
“images/”,
“”
);
您好,
我想知道是否以及如何可以将脚本添加到列表中的选定项目中,也许是通过电子邮件发送文件或删除文件的脚本。任何帮助将不胜感激。如果您不理解,请发表评论。
非常酷的脚本。PHP 对我来说都是全新的,但多亏了所有评论和建议,我才能让脚本按我想要的方式运行。
我做出的一个更改是框的大小,我不想让它在屏幕上爆炸。您可以在 .styles.css 中的 #container 标签下控制它。
#container {
width: 800px;
margin-left:auto;
margin-right:auto;
box-shadow: 0 15px 10px -5px rgba(0,0,0,0.5);
position: relative;
background: #dbe7f6;
}
您可以添加 width、margin-left 和 margin-right 参数来定义您希望在屏幕上看到的框。
嗨,不错的脚本,运行完美!我需要在新标签页或新窗口中打开目录。我该怎么做?我不懂 PHP :(
此致!
你好!
我不是开发人员,但我正在尝试按照步骤使演示文件对我有用。我所做的只是将隐藏文件复制到我尝试列出文件的文件夹中,但没有任何反应。我尝试将其作为本地机器访问,也许这就是问题所在。我需要做的是将文件列表嵌入到我的网站中。为此,我正在使用 iframe 来实现。它适用于 Google Drive,但不适用于本地机器。有什么想法吗?谢谢!
您好。
我使用了这段代码,它运行得非常棒。但是,当我查看文件并单击它们时,它们不会开始下载,我注意到当我单击它们时文件路径不是真实的路径,只有当我“右键单击并另存为”时才会起作用。
有没有办法解决这个问题?
提前感谢。
请有人告诉我如何在列表中放置一个广告单元……比如在我拥有 5 个文件夹或文件后,我有一个 AdSense 单元……
不错的讨论——顺便说一句,人们需要 NY DTF ST-330,我的商业伙伴填写并传真了一个模板版本 http://goo.gl/Cw08AX
感谢您提供的出色脚本,它运行起来没有任何问题,但是我想知道是否可以将其递归以列出甚至子文件夹的内容,而无需将文件上传到所有文件夹以及面包屑。
将第 33 行替换为此
$return.= 'DROP TABLE IF EXISTS '.$table.';';
如何显示每个文件的 MD5 或 SHA?
太好了,请大家帮忙,我想在我的 php 应用程序中嵌入一个 pdf 查看器,我添加了从该站点获取的 php 代码的文件名部分的代码,它没有显示文档
// 获取文件名
//
$name=$dirArray[$index];
$namehref=’/achs0/ViewerJS/PDF_findfont(p, example.local.css, encoding, embed).pdf/($dirArray)'[$index];
这是一个对困扰我一段时间的问题的绝妙解决方案;我感激不尽!我正在移动应用程序中显示此内容,该应用程序没有内置导航。有没有办法添加一个“向上返回一级”按钮?
相关页面位于 http://www.presum16.com/seminars。
你好!有没有办法用密码保护?
谢谢
你好,
很棒的脚本!
PDF 文件没有显示图标,所以……
我在 .images 中添加了一个图像“pdf.png”(16×16)
并在
.style.css
table tr td:first-of-type a[href$=”.pdf”],
{background-image: url(./.images/pdf.png)}
但是它不起作用,
请您更正我吗?
谢谢;)
大家好,
我非常喜欢这段代码
有人知道如何始终显示“当前目录”和“上级目录”吗?
非常感谢,希望得到答案!
这太棒了!!!
我只有一个问题,如何隐藏文件夹以使其不显示在列表中?
感谢您提供的出色代码……
我稍微修改了一下代码以允许显示子文件夹(我用它来显示日志文件)……
因此,只需添加一个“$myDir”变量,并在存在“$dirArray[$index])”的地方添加它,除了“$name”变量之外……
像这样
您的代码非常有用……
您能告诉我如何在修改日期上进行预排序……以便我可以在第一行获得最新上传的文件……?
感谢 Wilds
http://pastebin.com/FTTzpLM1
成功编辑了文件,按修改日期排序
已测试编辑第 63 行
sort($dirArray);
编辑为
sort($dirArray, “cmp”);
如何对初始列表进行密码保护?
不显示西里尔字母(
如何解决此问题?
我通过通读整个帖子看到了大多数问题的答案。@benjamin 提供了极好的解决方案。删除、下载需要一点编程知识。从新目标打开也运行良好。
它在我的 dot 文件所在的顶级目录中可以正常工作,但其中的目录恢复为在普通的 Apache dirlist 中显示。它应该在子目录中工作吗?我正在尝试原始作者发布的最后一个 zip 文件,https://css-tricks.cn/examples/DisplayDirectoryContents.zip,我认为是 2012 年的。
我确认如果我将 dot 文件复制到所有子目录中,那么它们就会漂亮地显示。
我不理解上面 Galadriann 的消息。我的意思是,他没有提供完整的可运行文件,我无法使用该技巧来解决问题。
太棒了!非常感谢。
但我有一些小问题。
如何对这个文件列表进行分页?
谢谢
我感到很抱歉要问一个关于很久以前提供的功能的问题,但是如果我能让它工作,它将对当前正在进行的项目非常有帮助。我非常确定我已经按照指示(并使用提供的文件)完成了所有操作,但我得到的只是内部服务器错误,因此我甚至不知道从哪里开始进行故障排除。我试图在 WordPress 网站上执行此操作,这会导致问题吗?
-谢谢
好吧,简单地将整个东西移动到另一个服务器解决了我的任何问题。感谢这个很棒的资源。
很棒的脚本,但我无论如何都无法让排序按修改日期进行,并且添加到文件夹中的任何新内容都显示在顶部,关于如何执行此操作有什么想法吗?我一直在尝试使用 usort,但没有任何内容按照我想要的方式排序。
您是否得到了这个问题的答案?我也很想更改它,以便默认排序为升序。
我也非常需要它默认按修改日期排序。一定有办法!
太棒了,7 年后代码完美运行。安装到运行 openwrt、uhttpd 的嵌入式设备上的目录中。谢谢
嗨,很棒的脚本,但任何人都可以帮我解决一个问题吗?文件的时间和日期显示错误,所有文件都具有相同的时间和日期,所有文件都显示 1969 年 12 月 31 日晚上 7:00
嗨,Vicky,
看来您没有使用最新版本……我使用了 Wilds 在他的帖子“评论# 2013 年 11 月 7 日/修复了文件大小和日期错误”中的最新版本,并附有链接
http://pastebin.com/edvpqBg5
感谢所有创建和更新这个精彩脚本的人 - 你们都做得非常棒!
给你:全部修复
https://pastebin.com/yxCWvmir
没有人注意到文件修改时间的区别吗?
在 .index.php 中插入以下行之间
以下行
以下是 PHP 支持的时区列表:https://php.ac.cn/manual/en/timezones.php
这几年一直运行良好。谢谢。
现在从 Windows Server 2012 迁移到 WS2016,子目录不再加载内容。我需要添加 .index.php 作为默认文件才能使父目录正常工作。
子目录为什么会引发“403 – 禁止:拒绝访问。”错误?
我不确定是否有更简单的解决方法,但我将 zip 文件中的所有内容复制到我想显示的每个目录中。
很棒的脚本。我将我的目录设置在根目录之外,但任何链接都指向回根目录。是否有任何方法将链接设置为 CWD?
非常棒的脚本。干净地解决了常见问题。
愿望清单!
文件扩展名可以区分大小写吗?这样 .pdf 和 .PDF 文件都将显示为“PDF 文档”吗?
所有其他文件类型也是如此。
不区分大小写的文件名
我是一个 php 新手,更熟悉 perl。
切换到美化文件类型之前,紧接其前的以下行似乎按预期工作。
$extn = strtolower($extn) ;
这个小技巧可能导致哪些明显的问题?
否则,HTH
这是个错误吗?
此脚本似乎在文件名中存在任何哈希符号(#)时无法工作。
不确定 PHP 如何处理文件名中的哈希符号。
我在下载文件和查看子文件夹时遇到问题。
$path=”D:”;
// $myDirectory=opendir(“.”);
$myDirectory=opendir(“$path”);
$name
$extn
$size
$modtime
“);
css 是否也可以与子文件夹一起使用?如果不是,如何实现?
如何在浏览器中查看它并将我的 ftp 客户端添加到它中?
有没有人找到解决包含撇号的文件的变通方法?例如“It’s a wonderful day.mp3” 当我将鼠标悬停在它上面时,URL 路径在 t 之后结束,如果我单击该文件,则会收到“404 未找到”错误。
刚刚实施了这个功能,以便为音乐学生提供可读的伴奏曲目列表。很棒。第一次使用 php,它立即起作用。易于编辑和导入我的网站样式。
我能够从 zip 文件安装,并且网站的主页按预期工作。问题是子目录仍然使用默认的 html 索引样式而不是顶级样式。
@Wade Williston –
我使用了http://pastebin.com/FTTzpLM1,它与子目录一起运行良好(进行了一些调整)。
我想知道如何在顶部添加面包屑轨迹,以便在您单击子目录时添加每个目录标题。谢谢!
非常感谢!感谢您和提供帮助的其他用户。
嗨,看起来很棒。
如果文件名中存在“#”,则存在错误。项目未替换为 %23。能否指出我查找该问题的正确方向?
谢谢。
我刚刚在 .index.php 中的 echo 命令之前添加了 $namehref = str_replace(“#”,”%23″, $namehref);。它正在工作,但它看起来不像正确的解决方案……
很棒的技巧!这几乎正是我正在进行的项目所需要的。
我对 php 还不太熟悉,所以我想知道是否有一种方法可以使用 bootstrap 来实现它,以便它生成目录中所有文件夹的网格?
是否有任何方法可以使其在单击任何文件夹时显示此内容,而无需将文件复制到每个文件夹中?
即,在例如 /var/www/ 中有一个 .index.php,它将一直工作到 /var/www/html/folder/folder/folder/folder 等
您好.. 如何隐藏目录上的显示和隐藏文件按钮。我担心以后可以在该文件夹中看到我隐藏的文件
完全按照广告宣传的那样工作。我不得不调整了一些颜色,但除此之外非常棒。
如果我想让用户能够移动文件(例如,将文件拖放到文件夹中),我该如何在您设计的目录视图中实现这一点?
非常感谢!我未能成功使用存档中给出的方法(以点开头的文件在我的共享PHP网站上无法工作),但是只需对index.php进行一些更改,就可以了;)。
这是一个很好的教程!我还想知道是否有办法将此CSS规则应用于服务器中的所有目录?
PHP包含此内容
但出现错误消息
请帮忙
这个程序非常接近完美。
浏览评论并尝试弄清楚要下载什么以及要修补更改什么以使其按大多数人希望的方式工作非常困难。
我发现我必须将.index.php复制到每个子目录中才能使该子目录成为一个功能目录。
我尝试修补显示/隐藏隐藏文件文本标志,以便可以将其永久设置为“不显示隐藏文件”。
在我的实验中,我发现我创建了一个“php_errorlog”,它显示在文件列表中。这需要在设置中的某种异常列表中进行抑制。
并且您需要某种反向导航,例如面包屑系统。
如果您能做到这一点,您将拥有一个很棒的代码。
我想知道是否有人已经完成了这项工作,或者“Chris和团队”是否可以解决这个问题。
如果您能做到,请在页面底部添加一个信用链接,如果您需要读者,以及一些流量支持。
我是一位76岁的老人,自从1975年开始接触计算机以来,我已经忘记了大部分我学到的东西,因为我大部分的活力都消失了。
请为自己着想,把这件事做好,然后推广自己和你的业务。
support2020 at dontronics.com
干杯,Don…
唯一缺少的是搜索框,否则它很完美…
我是PHP新手,有没有办法在此添加搜索框?
你好,
我一直在使用这个很棒的脚本。
我的网络主机刚刚告诉我他们将停止支持php 7.2。
如果可能的话,有人可以发布脚本的php 8版本吗?如果可以的话,还可以包含对它进行的调整?
我相信这对很多人来说都是福音。
非常感谢
保重
Andy
你好,
我相信这个请求现在已经解决了。
我希望父目录链接始终显示,同时隐藏文件保持隐藏状态。
有人可以发布一个可行的解决方案和自述文件吗?
谢谢,
Paul
对于父目录链接,在.index.php文件中
<a style='color: ;’href=”../”>父目录
是否可以使此页面在您向下钻取到子文件夹时显示(但阻止顶级文件夹访问)?
即,我们有一些子文件夹部署到某些用户,但我们不希望他们能够看到所有可用的文件夹,即,如果他们转到父文件夹,他们只会看到一个空白页面或“此处无内容”。错误。
您好,您可以重新上传您的版本吗?
谢谢
感谢您的辛勤工作!!关于如何在IGTV教程中间调整大小或重新定位的分解有点多余,但是~像这样的列表绝对是无价的!!!对于现有的资源有多少以及在哪里花钱,可能会让人不知所措。拥有像您这样的专业人士根据经验进行分解可以节省大量时间。继续努力。
您知道为什么我的文件没有从“.”目录中显示出来吗?我假设.index.php文件与您想要单击并打开的文件位于同一个目录中?这是.htaccess问题吗?
太棒了 - 它开箱即用:-)
有人可以分享带有永恒文件夹路径和使用模板的子文件夹的版本修复吗?
谢谢