Absoluten Pfad aus Datenbank auslesen?

  • Moin,

    ich stehe gerade ein bisschen auf der langen Leitung... :cry:
    Ich suche nach einer Möglichkeit, den absoluten Installationspfad aus der Datenbank zu holen. Also den hier...

    Code
    D:\xampp\htdocs\ordner/wp-content/themes/twentyten

    Hintergrund: Ich möchte Theme-Optionen auf einer externen Seite nutzen, und möchte mit

    PHP
    require('./wp-blog-header.php');

    darauf zurück greifen. Da ich aber noch keinen endgültigen absoluten Pfad habe, wollte ich das "dynamisch" erstellen. get_bloginfo() geht extern ja nicht... Hat jemand einen Tipp für mich?

    Dankeschön!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Zitat

    In der DB steht der Pfad afaik gar nicht


    Hmmm, ist das nicht (sowas wie) die wpurl?

    Zitat

    aber warum nicht einfach einmal manuell eintragen und gut?


    Eigentlich ist es für dynamische Stylesheets in einer php-Datei gedacht. Es soll in einem Theme genutzt werden, was später auch zum Download bereit stehen wird. Und ich wollte es halt vermeiden, dass jeder Nutzer diese Adresse selbst eintragen muss. :???:

  • Zitat

    Hmmm, ist das nicht (sowas wie) die wpurl?


    In der DB gibt es eine siteurl, das ist aber, wie der Name schon sagt, die URL, der Serverpfad wird nicht gespeichert.

    Zitat

    Eigentlich ist es für dynamische Stylesheets in einer php-Datei gedacht. Es soll in einem Theme genutzt werden, was später auch zum Download bereit stehen wird. Und ich wollte es halt vermeiden, dass jeder Nutzer diese Adresse selbst eintragen muss.

    Was soll denn der absolute Pfad anderen Nutzern (auf höchstwahrscheinlich anderen Servern) bringen?

    ---

  • Zitat

    In der DB gibt es eine siteurl, das ist aber, wie der Name schon sagt, die URL, der Serverpfad wird nicht gespeichert.

    Das hatte ich soweit ja auch rausbekommen, aber wie kann man den Serverpfad bekommen?

    Zitat

    Was soll denn der absolute Pfad anderen Nutzern (auf höchstwahrscheinlich anderen Servern) bringen?


    Deswegen ja, ich möchte, dass der Serverpfad des jeweiligen Nutzers ausgelesen wird, und niemand "händisch" was eintragen muss.

  • Also wenn du einfach nur den absoluten Pfad des Nutzers rausfinden willst, das geht sogar noch viel einfacher, in

    PHP
    $_SERVER['DOCUMENT_ROOT']

    steht der absolute Pfad vom Webspace des Users, falls er WP in einen Unterordner installiert hat, steht dieser ja in der options Tabelle in der DB ("siteurl", der Teil hinter der Domain halt).

    ---

  • Super! Das klappt!

    Allerdings... Jetzt komme ich an den Punkt, an dem ich wohl besser in der Schule beim Thema Datenbanken aufgepasst hätte.

    Zitat

    falls er WP in einen Unterordner installiert hat, steht dieser ja in der options Tabelle in der DB ("siteurl", der Teil hinter der Domain halt).

    Genau das ist jetzt mein Problem. Ich habe jetzt sämtliche Dinge probiert, auch die aus dem WP-Codex, aber wenn überhaupt bekomme ich eine Fehlermeldung;

    Code
    Access denied for user 'XXXX'@'localhost' (using password: NO)

    Also bekomme ich keinen Zugriff außerhalb der "üblichen" WP-Installation auf die Siteurl. Oder? Ich werd echt weich hier bei dieser "Kleinigkeit".... :-(

  • Verstehe ich das richtig und du willst eine PHP-Datei benutzen um das Stylesheet auszugeben?

    Von dieser aus ist dann wohl kein Zugriff auf die Datenbank möglich.

    Aber den "Restpfad" vom Document-Root aus kannst du dir ja sonst auch aus der REQUEST_URI raussuchen, $_SERVER['REQUEST_URI'] gibt dir den kompletten Pfad vom Document-Root zu der aufgerufenen Datei, in dem Falle deinem PHP-Stylesheet, aus, alles, was dort vor "wp-content" steht, dürfte dann der Pfad sein in dem WP installiert ist.

    ---

  • Moin Cole,

    erstmal vielen Dank für deine Geduld! ;-)

    Zitat

    Verstehe ich das richtig und du willst eine PHP-Datei benutzen um das Stylesheet auszugeben?

    Ja, das funktioniert soweit auch prima.

    Ich habe mir gestern noch die halbe Nacht um die Ohren geschlagen... Nun bin ich komplett davon weg, irgendwas aus Datenbanken auszulesen. Habe gestern auch ein Konstrukt aus $_SERVER - Varianten "gebaut", was in meinen Augen ziemlich umständlich ist. Ich benötige nämlich "nur" den Pfad zum Installationsordner um die wp-blog-header.php zu laden (ABSPATH - aber den kann ich nicht so ohne weiteres auslesen?) und dann meine Theme-Optionen abfragen zu können.

    Also werde ich sie wohl in die head.php laden - was ich eigentlich nicht wollte - oder Nutzer mit einer "Subfolder-Installation" müsen den Pfad händisch ergänzen. Beides wollte ich eigentlich umgehen.

  • Zitat

    Ich benötige nämlich "nur" den Pfad zum Installationsordner um die wp-blog-header.php zu laden (ABSPATH - aber den kann ich nicht so ohne weiteres auslesen?)

    Ist doch mit $_SERVER['REQUEST_URI'] ganz einfach, im Grunde dürfte es doch so gehen:

    PHP
    $absolut = $_SERVER['DOCUMENT_ROOT'] . str_replace('wp-content/themes/deinthemename/deinstyle.php', '', $_SERVER['REQUEST_URI']);

    So umständlich ist das imho gar nicht ;)

    ---

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!