Hallo, ich habe eine Funktion gebaut, die mir alle Ordner und Datein ausliest, das klappt auch ohne Probleme, jedoch kann ich daraus kein "Explorer-Menu" machen, da sich die <div> überschneiden. Also habe ich daraus eine Klasse gebaut , wo alles in einem extra Div ist. Jedoch bricht meine Klasse ab bzw sie liest keine Datein in unterordnern aus und Ordner werden nur bis Ebene 2 gelesen.
So soll das ganze aussehen:
<div>
Ordner1
<div>
SubOrdner1
file1
</div>
Ordner2
</div>
somit kann ich dann mit JS eine Funktion bauen, die mir bei Klick auf Ordner1 den Sub-Inhalt anzeigt.
Hier meine Funktion die Funktioniert, jedoch wo so ein Klapp menu nicht realisiert werden kann(?)
Alles anzeigen
Hier ist nun meine Klasse, womit ein "Aufklapp-Menu" realisiert werden kann, die jedoch abbricht.
Alles anzeigen
Danke für die Hilfe.
so long JFoX
So soll das ganze aussehen:
<div>
Ordner1
<div>
SubOrdner1
file1
</div>
Ordner2
</div>
somit kann ich dann mit JS eine Funktion bauen, die mir bei Klick auf Ordner1 den Sub-Inhalt anzeigt.
Hier meine Funktion die Funktioniert, jedoch wo so ein Klapp menu nicht realisiert werden kann(?)
Quellcode
- function lese_verzeichnisse($ordner, $links = 50) {
- $verzeichnis = opendir(escapeshellcmd($ordner));
- while ($datei = readdir($verzeichnis))
- {
- if ($datei != "." && $datei != "..") {
- if (is_dir($ordner."/".$datei)) {
- echo '<span style="padding-left: '.$links.'px"><b><img
- src="/public/images/icons/folder.png">';
- echo '<a href="'.$ordner."/".$datei.'">'.$datei.'</a>';
- echo '</b></span><br />';
- lese_verzeichnisse($ordner."/".$datei, $links+20);
- } else {
- echo '<span style="padding-left: '.$links.'px"<img
- src="/public/images/icons/layers.png">';
- echo '<a href="'.$ordner."/".$datei.'">'.$datei.'</a>';
- echo '</span><br />';
- }
- }
- }
- closedir($verzeichnis);
- }
Hier ist nun meine Klasse, womit ein "Aufklapp-Menu" realisiert werden kann, die jedoch abbricht.
Quellcode
- <?php
- class ReadFolder
- {
- private $hqFolder;
- private $subFolder;
- private $fileFolder;
- private $hqLinks;
- private $subLinks;
- private $fileLinks;
- private $path;
- public function __construct($folder, $links = 50)
- {
- $this->hqFolder = $folder;
- $this->hqLinks = $links;
- $this->path = opendir(escapeshellcmd($this->hqFolder));
- self::getHq();
- }
- private function getHq ()
- {
- $path = opendir(escapeshellcmd($this->hqFolder));
- while ($datei = readdir($path)) {
- if ($datei != "." && $datei != ".." && $datei != ".htaccess") {
- if (is_dir($this->hqFolder ."/".$datei)) {
- echo "
- <div id=\"folder\" style=\"padding-left: ".$this->hqLinks."px;\">
- <table>
- <tr>
- <td><img src=\"/public/images/icons/folder.png\"></td>
- <td><a onclick=\"toggleDisplay(this, 'folder$folderUnique')\" href=\"#\">+ <b>$datei</b></a></td>
- </tr>
- </table>
- </div>";
- self::getSub($this->hqFolder."/".$datei, $this->hqLinks+20);
- } else {
- self::getFiles('hq');
- }
- }
- }
- }
- private function getSub($folder, $links)
- {
- $this->subLinks = $links;
- $this->subFolder = $folder;
- echo "<div id=\"folder\" style=\"padding-left: ".$this->subLinks."px;\">";
- $path = opendir(escapeshellcmd($this->subFolder));
- while ($datei = readdir($path)) {
- if ($datei != "." && $datei != ".." && $datei != ".htaccess") {
- if (is_dir($this->subFolder ."/".$datei)) {
- echo "
- <table>
- <tr>
- <td><img src=\"/public/images/icons/folder.png\"></td>
- <td><a onclick=\"toggleDisplay(this, 'file$folderUnique')\" href=\"#\">+ <b>$datei</b></a></td>
- </tr>
- </table>";
- } else {
- self::getFiles('sub');
- }
- }
- }
- echo "</div>";
- }
- private function getFiles($src)
- {
- switch (true) {
- case $src == 'hq':
- $this->fileFolder = $this->hqFolder;
- $this->fileLinks = $this->hqLinks+20;
- break;
- case $src == 'sub':
- $this->fileFolder = $this->subFolder;
- $this->fileLinks = $this->subLinks+20;
- break;
- }
- $this->fileLinks = $links;
- echo "<div id=\"folder$fileUnique\" style=\"padding-left: ".$this->fileLinks."px; display: block;\">";
- $path = opendir(escapeshellcmd($this->fileFolder));
- while ($datei = readdir($path)) {
- if ($datei != "." && $datei != ".." && $datei != ".htaccess") {
- if (!is_dir($this->hqFolder ."/".$datei)) {
- echo "
- <table>
- <tr>
- <td><img src=\"/public/images/icons/layers.png\"></td>
- <td><a href=\"$this->fileFolder/$datei\">$datei</a></td>
- </tr>
- </table>";
- }
- }
- }
- echo "</div>";
- }
- public function __destruct()
- {
- closedir($this->path);
- }
- }
Danke für die Hilfe.
so long JFoX
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert, der letzte Netzknoten kommerzialisiert, die letzte Newsgroup moderiert wird, werdet Ihr merken, dass man mit Geld allein nicht programmieren kann.