Alle Ordner nach httpdocs/ ausgeben

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

  • Alle Ordner nach httpdocs/ ausgeben

    Hallo,

    irgendwie bekomme ich es nicht hin die ordner nach httpdocs/ anzuzeigen!?

    Ok lieber mal ein Beispiel:

    pfad:
    /etc/www/vhosts/seite.tld/httpdocs/eins/zwei/drei/datei.php

    Ich bräuchte es jetzt so das ich nur folgendes angezeigt bekomme:
    /eins/zwei/drei/

    Danke im voraus für Tips.

  • #2
    Also mir fallen da spontan zwei Möglichkeiten ein:

    Die erste:
    PHP-Code:
    $path str_replace('/etc/www/vhosts/seite.tld/httpdocs/','',dirname(__FILE__)); 
    Oder etwas dynamischer, dafür abhängig von deiner Server Config:

    PHP-Code:
    $path str_replace($_SERVER['DOCUMENT_ROOT'],'',dirname(__FILE__)); 

    Kommentar


    • #3
      Ich würde eher mit strpos und substr arbeiten. Was machst du, wenn dein Docroot /home/ und der Pfad /home/my/web/home/page/index.php lautet? Richtig: Käse!

      Kommentar


      • #4
        Da hat er doch ausdrücklich drauf hingewiesen:
        dafür abhängig von deiner Server Config:

        Kommentar


        • #5
          Noch ein wenig sicherer:
          PHP-Code:
          $path preg_replace("|^$_SERVER['DOCUMENT_ROOT']|"''dirname(__FILE__)); 
          Gruss
          H2O

          Kommentar


          • #6
            hmm ok also mit documentroot klappt es jedenfalls bei mir aber was ist wenn ich ein script für jederman schreiben will?!

            Is ja blöd wenn der user seinen root mit hand eingeben muss...

            statt dirname(__FILE__) kann ich doch sicher auch getcwd() nehmen oder ist dirname(__FILE__) da sicherer?

            Nur zum Verständiss mal für mich, was ist hier besser oder anders warum ist dass hier sicher?
            $path = preg_replace("|^$_SERVER['DOCUMENT_ROOT']|", '', dirname(__FILE__));

            Kommentar


            • #7
              warum ist dass hier sicher?
              Weil hier der Vergleich vom Anfang des Strings an stattfindet.
              Das funktioniert natürlich nur, wenn du wirklich die Verzeichnisse ab DOCUMEN_ROOT haben willst. __FILE__steht einfach für das aktuelle Script und ist natürlich nicht dasselbe wie getcwd(), das bezeichnet das Verzeichnis in dem du gerade stehst (mit chdir()). Aber was du letztendlich haben willst, musst schon du selber wissen.
              Gruss
              H2O

              Kommentar


              • #8
                Eine weite Möglichkeit wäre einfach, in dem obersten Verzeichnis, das du hast, eine PHP Datei legst, in der du eine entsprechende Konstante selber definierst.
                PHP-Code:
                define('DOCUMENT_ROOT'dirname(__FILE__)); 
                Unter der Vorraussetzung, dass diese Datei bei dir unter /etc/www/vhosts/seite.tld/httpdocs/ liegt, kannst du diese Datei dann überall mit include bzw. auch mit auto_append_file einbinden und hast sie überall zur Verfügung. Die Idee setzt natürlich voraus, dass es deine eigentliche Idee den Pfad zu bekommen, auf den der User zugreifen kann, wie zb. beim FTP Zugriff eines Webhosters.

                Kommentar

                Lädt...
                X