0
最近,我開始在PHP文件管理器爲我的服務器的工作,因爲我想這將會是非常無限便捷使用,以及讓我刷了我的PHP技能。無論如何,我有幾個問題,我希望能回答...PHP文件管理器
- 當我列出我的導演,總是有幾個「點」。例如:。,..,Folder_1,Folder_2等...我將如何去除我的目錄列表中的這些「點」?
- 當我列出我directorys,我現在的方法沒有任何問題的上市下劃線,或有在名稱中沒有空間的人的文件夾。但是,它無法使用名稱中的空格來處理文件夾。有沒有辦法讓我的文件管理器識別並正確處理名稱中的空格?
這裏是我當前的代碼...
<?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 {}
}
?>
任何幫助非常感謝, 布蘭登
附: 「Dots」與我的服務器的ext4文件系統有關嗎?這與我的問題並無太大關係,我只是有點好奇。
'$ dir_path = $ _GET [「目錄」];'...我要告訴你,這是非常不安全的......我,所以我的,不是你的,可以選擇目錄! – djot
而'$ _SERVER [「DOCUMENT_ROOT」]'可能有尾隨的斜線......或不依賴於服務器。小故事 - 你不能依賴它。 – djot
刪除「點」的唯一真正的方法是檢查他們 - '如果($名稱== || $名稱==「..」「」)繼續;'。 –