Schleife durch Verzeichnis des Benutzers
Der folgende Code das Benutzerverzeichnis findet (kompatibel mit Windows, Mac und Linux), dann rekursiv echo
‚s den Verzeichnispfaden.
<?php
$dir = '';
if (strpos(php_uname(),"Linux") === 0) {
//linux
$dir = "/home/";
} else {
//windows and mac
$dir = "https://stackoverflow.com/users/";
}
$dir.=get_current_user();
$iterator = new DirectoryIterator($dir);
foreach ($iterator as $fileinfo) {
if ($fileinfo->isDir() && !$fileinfo->isDot()) {
echo $fileinfo->getPathName() . "\n";
// recursion goes here.
}
}
?>
das gesamte System durch Looping
Die AJAX Methode
Ajax ist im Grunde nur eine Möglichkeit, zu einem Server zu kommunizieren, ohne aktualisieren zu müssen. Was der folgende Code tut es lädt Verzeichnisse lazy. So, wie es benötigt wird, wird es die nächste Iteration für Verzeichnisse laden. Ich glaube, das wäre, was Sie wollen, weil das Drucken alles von der Wurzel ein bisschen selbstmörderisch ist.
<?php
function filterDirectories($dir) {
$myDirs = scandir($_POST['dir']);
foreach ($myDirs as $key => $myDir) {
$path = str_replace('//','/',$dir . '/' . $myDir);
if (!is_dir($path) || $myDir === "." || $myDir === "..") {
unset($myDirs[$key]);
} else {
$myDirs[$key] = $path;
}
}
return array_values($myDirs);
}
if (isset($_POST['dir'])) {
echo json_encode(filterDirectories($_POST['dir']));
die();
}
?>
<body>
<form>
<div id="selectContainer">
</div>
</form>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(function() {
"use strict";
var rootDir = "/";
function getDirectory(dir) {
$.post("#", {
dir : dir
}, function (data) {
var $select = $("<select>");
for (var i = 0, len = data.length; i < len; i++) {
$("<option>")
.text(data[i])
.attr('value',data[i])
.appendTo($select);
}
$("#selectContainer").append($select);
}, "json");
}
getDirectory(rootDir);
$("#selectContainer").on("change", "select", function() {
$(this).nextAll().remove();
getDirectory($(this).val());
});
});
</script>
ist Iframe-Code auf Ihr aktuelles Problem bezogen? Ich glaube nicht. Beschreiben Sie auch ein bisschen mehr: - 'aber mit einem Problem wird nicht Wurzelverzeichnis bekommen. Auch da, wo Sie sind vorbei 'home/abc /' bekommt all seine Unterverzeichnisse? –
I missread Code. – Neil
Lassen Sie mich in einfachen Worten beschreiben und auch meinen Code –