php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 4 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 27-09-2003, 04:25
syco23
 Member
Links : Onlinestatus : syco23 ist offline
Registriert seit: Dec 2002
Beiträge: 368
syco23 ist zur Zeit noch ein unbeschriebenes Blatt
Question Verzeichnis incl. Unterordner auslesen - Verzeichnistiefe unbekannt

Hi,

Wie kann ich ein Verzeichnis incl. allen Unter, Unterunter, etc. -Ordnern auslesen? Ich weiß nicht, wie wie tief / hoch / weit oder was auch immer die Ordner gehen. Ich brauch nur die Ordnerstruktur - event. noch ob, ein Ordner auch Dateien enthält ( da werd ich irgendwann ein paar Kontrollstukturen einfügen, ist aber noch nicht so wichtig..)

Ich denk mal, das wird nur mit Funktionen gehen - hab aber damit noch nicht gearbeitet. Was ich hier so an Code-Schnippseln gefunden hab, liest- soweit ich den Code entziffern konnte - alles nur ein Verzeichnis aus. Das logische Problem (falls es eins ist) wäre in meinen Augen, dass eine Funktion (die, die die Ordner ausliest) sich schon beim ersten Unterordner wieder selbst aufruft.

Hoffe ihr könnt mir helfen.

Greez,
Syco
__________________
.: 1+1=23 :.
Mit Zitat antworten
  #2 (permalink)  
Alt 27-09-2003, 07:25
Trashar
 PHP Senior
Links : Onlinestatus : Trashar ist offline
Registriert seit: Dec 2001
Ort: /root/
Beiträge: 1.366
Trashar ist zur Zeit noch ein unbeschriebenes Blatt
Trashar eine Nachricht über ICQ schicken Trashar eine Nachricht über AIM schicken
Standard

http://www.php-resource.de/forum/sho...threadid=26467

dient zwar zum verzeichniss kopieren sollte dir aber helfen

musste halt anpassen

mfg
Mit Zitat antworten
  #3 (permalink)  
Alt 30-09-2003, 22:10
syco23
 Member
Links : Onlinestatus : syco23 ist offline
Registriert seit: Dec 2002
Beiträge: 368
syco23 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry, ich check dein Script nicht ganz. Kannst du mir sagen, wo der Kniff ist, der das ganze automatisiert, sodass das Script alle Verzeichnisse und Unterverzeichnisse systematisch durchgeht.
__________________
.: 1+1=23 :.
Mit Zitat antworten
  #4 (permalink)  
Alt 30-09-2003, 22:12
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

der kniff ist der, dass die funktion sich selbst wieder aufruft, das nennt sich rekursion

Definition von Rekursion: siehe Rekursion
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #5 (permalink)  
Alt 30-09-2003, 22:12
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Ohne den Thread gelesen zu haben: rekursiver aufruf der fkt.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #6 (permalink)  
Alt 30-09-2003, 23:17
mrwhorf
 Junior Member
Links : Onlinestatus : mrwhorf ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 119
mrwhorf ist zur Zeit noch ein unbeschriebenes Blatt
mrwhorf eine Nachricht über Yahoo! schicken
Standard

Köhntopp weiss doch immer wieder eine Lösung

Wie kann ich den Inhalt eines Verzeichnisses samt dem Inhalt aller Unterverzeichnisse ausgeben?
__________________
if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }
Mit Zitat antworten
  #7 (permalink)  
Alt 30-09-2003, 23:50
tian
 Newbie
Links : Onlinestatus : tian ist offline
Registriert seit: Sep 2003
Beiträge: 4
tian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo

hier findet sich von bigi noch eine andere Funktion, die das auch kann. Im Unterschied zu der obigen Funktion gibt diese ihr Ergebnis in einem Array aus.

viele Grüsse
tian

Funktion von bigi@agun.com:
----------------------------------------------------------------------
PHP-Code:
function retrieveDirs($rootdirpath) {
  if (
$dir = @opendir($rootdirpath)) {
    
$array[] = $rootdirpath;
    while ((
$file readdir($dir)) !== false) {
      if (
is_dir($rootdirpath."/".$file) && $file != "." && $file != "..") {
        
$array array_merge($arrayretrieveDirs($rootdirpath."/".$file));
      }
    }
    
closedir($dir);
  }
  return 
$array;


Geändert von tian (30-09-2003 um 23:55 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 01-10-2003, 00:49
syco23
 Member
Links : Onlinestatus : syco23 ist offline
Registriert seit: Dec 2002
Beiträge: 368
syco23 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke mal. Aber ich bin jetzt wieder mal bei so einem Scheiß Fehler, der mich schon bald 20 min. aufhält und ich weiß einfach nicht, wo das Prob ist.

Erst mal das Scirpt, das ich jetzt verwende:
PHP-Code:
 function traverseDirectory($dirid) {
    while ((
$file readdir($dirid)) !==false) {
        if ((
$file !== ".") && ($file !== "..")) {
            if (
is_dir($file)) {
                
$curdir getcwd();
                echo 
substr($curdir20)."/";
                echo 
"$file <br />\n";
                
chdir($file);
                
$newdir opendir(".");
                
$closedir traverseDirectory($newdir);
                
closedir($closedir);
                
chdir("..");
            } 
        }
    }
    return (
$dirid);
}
$dirid opendir(".");
$closedir traverseDirectory($dirid);
closedir($closedir); 
funzt super, aber wenn ich sattdessen folgendes schreibe, klappts nicht mehr - zur Erklärung: ich hab das echo substr($curdir, 20)."/"; mit einem dynamischen Wert bestückt. Ziel: Ich möchte absolute Links zu den Ordnern bekommen.
PHP-Code:
$basis_url getcwd();
$basis_url_laenge strlen($basis_url);

function 
traverseDirectory($dirid) {
    while ((
$file readdir($dirid)) !==false) {
        if ((
$file !== ".") && ($file !== "..")) {
            if (
is_dir($file)) {
                
$curdir getcwd();
                echo 
substr($curdir$basis_url_laenge );
                echo 
"$file <br />\n";
                
chdir($file);
                
$newdir opendir(".");
                
$closedir traverseDirectory($newdir);
                
closedir($closedir);
                
chdir("..");
            } 
        }
    }
    return (
$dirid);
}
$dirid opendir(".");
$closedir traverseDirectory($dirid);
closedir($closedir); 
EDIT:
Ich hatte jetzt sage und schreibe 2 h das Antwort-Fenster offen, also hab ich die letzen beiden Posts noch gar nicht gesehen
@Nr.1 ich hab show_dir(".") aufgerufen und leider nur die Files eben dieses Verzeichnisses angezeitgt bekommen.
@Nr.2 .. mom, mal testen ..

__________________
.: 1+1=23 :.

Geändert von syco23 (01-10-2003 um 01:05 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 01-10-2003, 08:41
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

hier noch ne alternative
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #10 (permalink)  
Alt 19-05-2005, 18:55
Teloki
 Newbie
Links : Onlinestatus : Teloki ist offline
Registriert seit: Dec 2004
Beiträge: 17
Teloki ist zur Zeit noch ein unbeschriebenes Blatt
Teloki eine Nachricht über ICQ schicken
Standard

Versuche gerade diesen codeschnipsel oben für meine seite zu benutzen.

Nur bei mir soll der Inhalt eines Unterverzeichnisses angezeigt bzw. in einem array geschrieben werden.

Ich dachte ich kann einfach

...
$dirid = opendir(".");
...

in
...
$dirid = opendir("13");
// 13 ist ein unterverzeichnis von dem ordner wo die PHP-Datei steht.
...

"/13", "13/", "./13", "./13/" <- die funktionieren auch nicht.

ändern, klappt aber nicht.

Warum nicht?
Kann mir jemand mal sagen was ich falsch mache?

Danke schonmal
Mit Zitat antworten
  #11 (permalink)  
Alt 19-05-2005, 20:35
ankh
 Member
Links : Onlinestatus : ankh ist offline
Registriert seit: May 2005
Beiträge: 304
ankh ist zur Zeit noch ein unbeschriebenes Blatt
ankh eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von syco23

PHP-Code:
$basis_url getcwd();
$basis_url_laenge strlen($basis_url);

function 
traverseDirectory($dirid) {
    while ((
$file readdir($dirid)) !==false) {
        if ((
$file !== ".") && ($file !== "..")) {
            if (
is_dir($file)) {
                
$curdir getcwd();
                echo 
substr($curdir$basis_url_laenge );
                echo 
"$file <br />\n";
                
chdir($file);
                
$newdir opendir(".");
                
$closedir traverseDirectory($newdir);
                
closedir($closedir);
                
chdir("..");
            } 
        }
    }
    return (
$dirid);
}
$dirid opendir(".");
$closedir traverseDirectory($dirid);
closedir($closedir); 
die variable $basis_url_laenge ist innerhalb der funktion nicht sichtbar.
Entweder als parameter übergeben, oder in der fkt. als global definieren.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

kostenloser PHP-Editor Codelobster ansehen kostenloser PHP-Editor Codelobster

Kostenloser PHP, HTML, CSS, JavaScript editor (IDE) - Codelobster PHP Edition

13.03.2019 Berni | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
Lazy Load Plugin für jQuery

Das Lazyload Plugin, lädt Bilder nach, wenn sie im Viewport sichtbar werden.

10.03.2019 phpler | Kategorie: JQUERY-PLUGINS
WeltExplorer v1.0

WeltExplorer v1.0 ist ein Dateimanager zum Browsen und Operieren im Dateisystem. Bei installiertem cURL können Ordner und Dateien zu entfernten FTP-Servern hochgeladen bzw. von diesen heruntergeladen werden, etwa zum Erstellen von Backups oder Mirrorsites

06.02.2019 weltvolk | Kategorie: PHP/ File
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:31 Uhr.