dirname(__FILE__) - Ajax Problem!

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

  • dirname(__FILE__) - Ajax Problem!

    wenn ich per ajax ein script in ein div rein lade und ich in diesem PHP script eine datei aus dem Root einbinden will, muß ich ja folgenden Code verwenden:


    Code:
    dirname(__FILE__)
    
    bzw.
    
    include(dirname(__FILE__).'/../datum.inc.php');
    jetzt will ich aber eine datei mit dem namen datum2.inc.php aus einem anderen unterverzeichnis einbinden!

    wie muß da die Synthax lauten?
    Zuletzt geändert von Gamer20; 09.01.2009, 19:03.

  • #2
    dann musst du einen parameter an dein script übergeben und anhand dessen unterscheiden, was includet werden soll
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      kann ich mir den pfad net zusammen basteln?

      (so ähnlich wie beim autofahren, wenn man falsch abgebogen ist -> zurück zur Kreuzung [Rootverzeichnis] und dann die andere Abfahrt nehmen [anderes Unterverzeichnis])

      sonst muß ich wohl mein datum2.php script in jedes unterverzeichnis kopieren.

      Kommentar


      • #4
        muß ich ja folgenden Code verwenden:
        also zunächst mal zwingt dich keiner, mit dirname zu arbeiten. und das sieht imho auch ziemlich seltsam aus:
        PHP-Code:
        include(dirname(__FILE__).'/../datum.inc.php'); 
        warum arbeitest du nicht mit einer sauberen struktur und packst z.b. alle inc-dateien in einen ordner selbigen namens. sieht mir eher nach einem design-fehler aus.

        sieht außerdem nach einem php-problem aus, daher * verschieb *

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Re: dirname(__FILE__) - Ajax Problem!

          Original geschrieben von Gamer20
          wenn ich per ajax ein script in ein div rein lade ...
          Was hat das mit AJAX zu tun?

          ... und ich in diesem PHP script eine datei aus dem Root einbinden will, muß ich ja folgenden Code verwenden:
          Code:
          dirname(__FILE__)
          bzw.
          include(dirname(__FILE__).'/../datum.inc.php');
          Musst du nicht.

          jetzt will ich aber eine datei mit dem namen datum2.inc.php aus einem anderen unterverzeichnis einbinden!

          wie muß da die Synthax lauten?
          Meinten Sie syntax?
          *SCNR*

          Wie lautet der Name des anderen Unterverzeichnisses? Wenns neben dem liegt, in dem das aktuell ausgeführte Script liegt, dann bastelst du dir den relativen Pfad so zusammen:

          PHP-Code:
          dirname(__FILE__) . '/../' $anderes_verzeichnis '/datum2.inc.php'
          War das jetzt sooo schwer? ;-)

          (...) sonst muß ich wohl mein datum2.php script in jedes unterverzeichnis kopieren.
          Wozu? Überleg dir 'ne vernünftige Verzeichnisstruktur und einen gemeinsamen Ort, wo du alle deine PHP-Scripts ablegst. Und wenn wir schon dabei sind: "datum2.php" klingt nicht sehr überlegt gewählt. Da würde ich die AJAX-Basteleien erstmal zurückstellen und nochmal zurück in die Planungsphase für die Server-seitigen Scripts gehen.
          Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

          Kommentar


          • #6
            so hat wunderbar geklappt, hatte das vorher nur falschrum, erst das verzeichnis dann die striche mit punkten.

            die struktur bzw. dateinamen waren nur beispiele, real habe ich es anders. mir ging es nur um das zusammenbasteln des pfades!

            Kommentar


            • #7
              um zukünftig diese Pfadproblematik ganz auszuschalten und
              Klassen (und alles sollte Klasse sein :-) ) automatisch einzubinden

              http://de3.php.net/autoload
              <?php echo "ad astra"; ?>
              www.utopiafuture.de

              Kommentar


              • #8
                Original geschrieben von martin2
                um zukünftig diese Pfadproblematik ganz auszuschalten und
                Klassen (...) automatisch einzubinden

                http://de3.php.net/autoload
                __autoload() hilft dir beim Pfade-Zusammenkleben aber kein Bisschen weiter, das musst du auch weiterhin selbst erledigen und zwar mit den PHP-Pfadfunktionen (die zugegebenermaßen eine Zumutung darstellen).

                ... (und alles sollte Klasse sein :-) ) ...
                Wieder einer, der gerade im Informatik-Einstiegskurs die OOP als die allein selig machende Programmiertechnik entdeckt hat. :-)
                *SCNR*

                Lies mal lieber ein gutes Buch ...
                Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                Kommentar

                Lädt...
                X