Ankündigung

Einklappen
Keine Ankündigung bisher.

absoluter Pfad zur Datei - ohne Dateinamen

Einklappen

Neue Werbung 2019

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

  • absoluter Pfad zur Datei - ohne Dateinamen

    Hallo,

    ich hab hier ein kleines Problem und hab so leider keine Lösung gefunden ( mit regex bin ich leider noch nicht so fit, dass ich das damit evtl. lösen könnte )

    Das Problem ist dass ich an einem System code, das Smarty als Templateengine verwendet. Dazu verwende ich noch eine MySmarty.class.php (Wie in dem Buch "Besser PHP Programmieren" beschrieben). In dieser Datei muss man den absoluten Pfad zur Datei angeben, damit smarty dann die templates lesen kann. Ich möchte allerdings, dass dies automatisch geht, da ich das system weitergeben möchte, und Nicht-Programmierer womöglich Probleme haben den absoluten Pfad einzugeben. Ich hab den Pfad auch durch $_SERVER['SCRIPT_FILENAME']; gefunden, nur bei dieser Variable ist auch der Dateiname noch angehängt, die darf allerdings nicht dabei sein. Ich hab die Datei mal angehängt, dadurch wird es hoffentlich klarer:

    PHP-Code:
    <?PHP

    define
    ('PFAD''/opt/lampp/htdocs/changelog/smarty/'); // <--- soll automatisiert werden, so dass es nicht jedes mal neu eingetragen werden muss
    require (PFAD.'libs/Smarty.class.php');

    class 
    MySmarty extends Smarty {

        function 
    MySmarty() {
            
    $this->Smarty();

            
    $this->template_dir=PFAD.'templates/';
            
    $this->config_dir=PFAD.'configs/';
            
    $this->compile_dir=PFAD.'templates_c';
            
    $this->cache_dir=PFAD.'cache/';
            
    //$this->caching=true;
        
    }

    }
    ?>

    ?>
    Folglich brauche ich nun irgendetwas wodurch ich den absoluten Pfad OHNE den Dateinamen bekomme.

    Vielen Dank und freundliche Grüße

    L1nuX3r

  • #2
    www.php.net/dirname
    [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
    | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

    Kommentar


    • #3
      PHP-Code:
      <?php
      $temp
      =explode('/',$_SERVER['SCRIPT_FILENAME']);
      unset(
      $temp[count($temp)-1]);
      $pfad=join('/',$temp);
      ?>
      fertig

      dirname() tuts natürlich auch

      Kommentar


      • #4
        Vielen Dank für die schnellen Antworten. Nur leider ist mir gerade aufgefallen, dass ich einen Denkfehler hatte... Dieses script wird ja in die index.php includet, von dem her stimmt der Pfad ja dann wieder nicht

        Kommentar


        • #5
          tja
          -> config in der der pfad zu den templates festgelegt ist
          [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
          | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

          Kommentar


          • #6
            dann musst du halt noch ein Element 'rausschmeissen' - z.b. 2x dirname() anwenden.

            Kommentar


            • #7
              Zitat von Sakuraiel
              dann musst du halt noch ein Element 'rausschmeissen' - z.b. 2x dirname() anwenden.
              ... naja wirklich ne frickellösung die mal funktioniert und woanders dann nicht?

              lieber sauber mit nem eindeutigen pfad arbeiten.

              mfg
              robo47
              [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
              | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

              Kommentar


              • #8
                Wenn die Datei immer da bleibt, wo sie ist, sollte das funktionieren... solange die $_SERVER - Variable gesetzt ist.

                Kommentar


                • #9
                  nene... der aufbau ist anders:

                  /root: index.php, setup.php
                  /smarty: MySmarty.class.php und diverse andere verzeichnise
                  /andere verzeichnise

                  aber da der smarty ordner eig. eh immer so heißt, muss ich halt jetzt einfach nur noch /smarty anfügen, dann sollte es eigentlich laufen.

                  Vielen Dank !!

                  L1nuX3r

                  Kommentar

                  Lädt...
                  X