首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP文件管理器

PHP文件管理器
EN

Stack Overflow用户
提问于 2013-09-21 22:15:13
回答 1查看 876关注 0票数 0

我最近开始为我的服务器开发一个PHP文件管理器,因为我认为它非常容易使用,并且允许我学习我的PHP技能。不管怎样,我有几个问题我希望能被回答.

  • 当我列出我的导演时,总会有几个“点”。例如:.,.,Folder_1,Folder_2等.我该如何从目录列表中删除这些“点”呢?
  • 当我列出我的目录时,我的当前方法没有问题列出带有下划线的文件夹,或者在名称中没有空格的文件夹。但是,它不能处理名称中包含空格的文件夹。有办法让我的文件管理器正确识别和处理名称中的空格吗?

这是我目前的密码..。

代码语言:javascript
复制
<?php
global $dir_path;
if (isset($_GET["directory"])) {
    $dir_path = $_GET["directory"];
    //echo $dir_path;
}
else {
    $dir_path = $_SERVER["DOCUMENT_ROOT"]."/";
}

$directories = scandir($dir_path);
foreach($directories as $entry) {
    if(is_dir($dir_path . "/" . $entry )) {
        echo "<a href=?directory=" . $dir_path . "" . $entry . "/" . "><li>" . $entry . "</li></a>";
    }
    else {}
}

?>

非常感谢你的帮助,布兰登

“点”与我服务器的ext4文件系统有关吗?这与我的问题并没有多大关系,我只是有点好奇。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-21 22:32:06

如果你只想要一个简单的版本:

代码语言:javascript
复制
foreach($directories as $entry) {
    if (is_dir($dir_path . "/" . $entry) && !in_array($entry, array('.','..'))) {
        echo "<a href=?directory=" . $dir_path . "" . $entry . "/" . "><li>" . $entry . "</li></a>";
    }
    else {}
}

这将检查. / .. (如当前dir和back )。关于空间这听起来很奇怪。是链接不起作用,还是扫描?如果是链接,将空格替换为%20,例如

代码语言:javascript
复制
$href="?directory=" . $dir_path . "" . str_replace(' ','%20',$entry) . "/";
echo "<a href='".$href.'"><li>' . $entry . '</li></a>';

我认为更有可能的原因是在href附近缺少""的引号,例如

代码语言:javascript
复制
echo '<a href="?directory="' . $dir_path . $entry . '/' . '"><li>' . $entry . '</li></a>';

而不是。当您不添加quoutes时,带有空白的链接(例如"test 123“)将被浏览器解释为href=test,因为没有任何东西可以封装整个链接。应该是href="test 123"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18938226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档