scandir: Verzeichnis zurück

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • scandir: Verzeichnis zurück

    Hallöchen und frohes neues Jahr.

    Ich muss ein Verzeichnis (oder mehr) zurück auslesen ausgehend von dem folgendem Script, das selber in einem Unter-Verzeichnis liegt.

    Folgendes klappt, aber es wird nur das Verzeichnis ausgelesen, in dem das Script selber liegt:

    PHP-Code:
    $ordner '.';

    $verzeichnis scandir($ordner);
    foreach(
    $verzeichnis as $verzeichnisse){
        if(
    $verzeichnisse == '.' or $verzeichnisse == '..' ){
            
    #echo 'dot<br />';
            
    echo '';
        }else{
                if(
    is_dir($verzeichnisse)){
                      
    $verzeichnis_array[]=    $verzeichnisse;
                      echo 
    $verzeichnisse .'<br />';
                }
        }


    print 
    '<pre>';
    print_r ($verzeichnis_array);
    print 
    '</pre>'
    Um an das drüberliegende Verzeichnis zu kommen habe ich es (erfolglos) so versucht:
    PHP-Code:
    $dir explode('/',dirname ($_SERVER['PHP_SELF']));
    $ordner $dir[count($dir)-2]; 
    bzw so:
    PHP-Code:
    $ordner '../';
    $ordner '../../'
    Hat jemand eine Idee?
    Danke und Gruss WW

  • #2
    Du musst für is_dir noch $ordner davor packen. scandir gibt nur den basename des jeweiligen Eintrags zurück:

    PHP-Code:
    <?php

    $ordner 
    __DIR__ '/..';

    $verzeichnis_array = array();

    $verzeichnis scandir($ordner);

    foreach (
    $verzeichnis as $entry) {
        if (
    $entry === '.' || $entry === '..' ) {
            continue;
        }

        if (
    is_dir($ordner '/' $entry)) {
            
    $verzeichnis_array[] = $entry;
        }
    }

    print 
    '<pre>';
    print_r ($verzeichnis_array);
    print 
    '</pre>';

    Kommentar


    • #3
      Erledigt. Danke an mermshaus

      Lieber mermshaus,
      vielen lieben Dank für deine Hilfe.

      Dein Vorschlag klappt super.

      Kommentar

      Lädt...
      X