Ankündigung

Einklappen
Keine Ankündigung bisher.

Verzeichnisstruktur Zugriff mit include

Einklappen

Neue Werbung 2019

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

  • Verzeichnisstruktur Zugriff mit include

    Hallo Zusammen,

    vllt. kan mir einer von euch helfen. Leider bekomme ich keinen Zugriff auf die Datei und deren verzeichnis welches ich jetzt kurz schildern werden.


    focusedhealth
    - fitbit
    --food plan
    ---insert (Datei: insert_food_plan.php)
    PHP-Code:
    include '../../id/find_calories_id.php';
    include 
    '../../id/find_period_daily_id.php'
    focusedhealth
    - fitbit
    --id (Datei1: find_calories_id.php; Datei2: find_period_daily_id.php)

    Meine Annahme müsste doch eigenltich korrekt sein das ich 2 mal ".." nutze um die Ebenen nach oben zu gehen und dann id, damit ich eine Ebene tiefer und somit auch die Dateien aufrufen kann?!

    VG
    auerp

  • #2
    Wenn ich deine Darstellung der Verzeichnisse korrekt interpretiere, dann scheint der relative Pfad korrekt zu sein, ja.

    Was passiert denn (nicht)? Fehlermeldung? Welche Datei rufst du im Browser auf?

    Kommentar


    • #3
      Ich bin ja sicher das hilft:
      http://php-de.github.io/jumpto/pfade/

      Kommentar


      • #4
        Hallo,

        lass dir doch zur Sicherheit mal via "getcwd();" das aktuelle Arbeitsverzeichnis ausgeben - je nachdem ob du die Datei auch inkludierst kann das ja unterschiedlich sein glaub ich.
        Gruß,
        SebTM

        Kommentar


        • #5
          Weiß nicht genau, was du mit „die Datei“ meinst, aber das Arbeitsverzeichnis ist der <strike>erste</strike> Bezugspunkt für relative Pfadangaben, ja.

          Ich habe es allerdings noch nicht erlebt, dass das Arbeitsverzeichnis bei Aufruf über den Webserver (also mehr oder weniger per HTTP) nicht dem Verzeichnis entspricht, in dem die zuerst aufgerufene PHP-Datei des Requests liegt. Undenkbar ist das aber wahrscheinlich nicht.

          Kommentar


          • #6
            Ich meinte mit Datei das die Datei in welcher er die Includes hat nochmal woanders inklusdiert wird.

            Und ja, ich glaube (bin mir nicht 100% sicher) das wenn der Aufruf "meineseite.de/test.php" heißt und diese in "/var/www/vhosts/meineseite.de/" liegt das das auch das Arbeitsverzeichnis ist. Damit müsste er den Pfad von dort aus angeben.
            Gruß,
            SebTM

            Kommentar


            • #7
              Das Problem ist, dass er bestimmte Werte nicht in die Datenbank schreibt und dort dann eine 0 steht, statt dem erwarteten Wert.

              Werden die Dateien nicht aus dem ordner id aufgerufen sondern direkt im Ordner insert abgelegt und von dort aus aufgerufen schreibt er auch die erwarteten Werte in die Datenbank.

              Kommentar


              • #8
                Zitat von mermshaus Beitrag anzeigen
                Ich habe es allerdings noch nicht erlebt, dass das Arbeitsverzeichnis bei Aufruf über den Webserver (also mehr oder weniger per HTTP) nicht dem Verzeichnis entspricht, in dem die zuerst aufgerufene PHP-Datei des Requests liegt. Undenkbar ist das aber wahrscheinlich nicht.
                meinst du sowas wie http://example.com/proc/cpuinfo sollte man mal testen ?
                //OT: dein strike ist echt schwer zu lesen..

                @SebTM:
                Ich glaube (bin mir nicht 100% sicher)
                in solchen fällen kann eine konsultaion der logfiles wunder bewirken.

                Kommentar


                • #9
                  @moma: Das was du zitierst war von mir und ich bin nicht TE
                  Gruß,
                  SebTM

                  Kommentar


                  • #10
                    Zitat von auerp Beitrag anzeigen
                    Das Problem ist, dass er bestimmte Werte nicht in die Datenbank schreibt und dort dann eine 0 steht, statt dem erwarteten Wert.

                    Werden die Dateien nicht aus dem ordner id aufgerufen sondern direkt im Ordner insert abgelegt und von dort aus aufgerufen schreibt er auch die erwarteten Werte in die Datenbank.
                    Na ja, dann scheint es ja nicht unbedingt an den Include-Pfaden zu liegen?

                    Müsste man im Zweifel den entsprechenden Code sehen.

                    Versuch es aber mal mit Debugging:

                    - http://phpforum.de/forum/showthread.php?t=216988
                    - http://php-de.github.io/#debugging

                    Zitat von moma
                    meinst du sowas wie http://example.com/proc/cpuinfo sollte man mal testen ?
                    Verstehe nicht, was du hier meinst.

                    //OT: dein strike ist echt schwer zu lesen..
                    Das war halt wahrscheinlich Unsinn, dass es noch einen weiteren Bezugspunkt/Ankerpunkt für relative Pfade gibt, wenn mit working directory als Bezugspunkt nichts gefunden wird. Bei Includes mit Pfaden, die nicht relativ und nicht absolut sind (zum Beispiel include 'foo.php';), sucht PHP „am Ende“ noch mal vom Verzeichnis der Datei ausgehend, in der die Include-Zeile steht, nach einer Entsprechung im Dateisystem.

                    Zitat von SebTM
                    Und ja, ich glaube (bin mir nicht 100% sicher) das wenn der Aufruf "meineseite.de/test.php" heißt und diese in "/var/www/vhosts/meineseite.de/" liegt das das auch das Arbeitsverzeichnis ist. Damit müsste er den Pfad von dort aus angeben.
                    Das ist in jedem Fall so, wie es „normalerweise“ funktioniert. Ich glaube aber, das ist mehr übliche Konvention. Eine Notwendigkeit, das Arbeitsverzeichnis so zu setzen, sehe ich nicht.

                    Ich rate immer dazu, solche Pfade im Code mit __DIR__ „zu verankern“. Dann hat man es verlässlich vom Verzeichnis der Skriptdatei ausgehend, und unter anderem das Arbeitsverzeichnis ist egal.

                    - http://www.ermshaus.org/2012/09/php-...emals-ohne-dir

                    Kommentar

                    Lädt...
                    X