Seite 3 von 3
Re: Neues Verzeichnis definieren
Verfasst: 21.04.2012 16:35
von Malte
Das Problem ist, dass ich es nicht hinbekomme.
Ich möchte einfach nur eine Art solcher Variable definieren und dann in allen Dateien nutzen können, so wie es bereits mit
$server_root_path
funktioniert. Nur leider fehlen mir dafür die entsprechenden phpBB-Kenntnisse.
Gruß
Malte
Re: Neues Verzeichnis definieren
Verfasst: 21.04.2012 17:41
von Miriam
Falls Du
$phpbb_root_path
meinst, die wird doch in den Dateien immer wieder neu definiert und ist keine Variable, die für alle Bedürfnisse global definiert wird.
Aber du kannst es ja so in einer Funktion in der
/includes/functions.php definieren und in den entsprechenden Dateien einpflegen:
Code: Alles auswählen
function set_server_root_path()
{
global $phpbb_root_path, $server_root_path;
if (isset($phpbb_root_path))
{
$server_root_path = ($phpbb_root_path == './') ? '../' : '../../';
}
return $server_root_path;
}
Und der Aufruf der Funktion erfolgt in den Dateien dann mittels
und schon kannst Du die Variable
benutzen; dazu muß aber die functions.php inkludiert werden. Geht also nur innerhalb der Forenskripte.
//Irgendwie verstehe ich den Sinn immer noch nicht.

Re: Neues Verzeichnis definieren
Verfasst: 21.04.2012 17:46
von Malte
OK, ich probiere das mal aus, aber vorher noch was zum Verständnis:
Das heißt, in jeder Datei, in der ich es nutzen möchte, muss ich oben noch set_server_root_path();
einfügen, gelle?
Und:
Das ganze ist nun das Verzeichnis über dem phpBB-Root?
($phpbb_root_path == './') ? '../' : '../../';
'../'
besagt, das ja aber '../../'
verwirrt mich in dem Sinne, ein wenig.
Re: Neues Verzeichnis definieren
Verfasst: 21.04.2012 18:38
von Miriam
So sollte es sein. Hast Du es denn schon mal getestet?
Es gibt nur zwei Angaben für
$phpbb_root_path;
entweder
'./'
oder
'./../'
Wenn $phpbb_root_path definiert ist und './' ist, dann ist das Verzeichnis eine Stufe näher ans htdocs-Root -> '../' Ansonsten mußt Du zwei Schritte an das htdocs-Root herangehen, das wäre dann '../../'
PHPBB_ROOT_PATH wird nirgends definiert, deshalb wird die Entscheidung in der jeweiligen Datei getroffen. Und zwar Zuungunsten der nicht vorhandenen PHPBB_ROOT_PATH Variablen. (Ich habe hier nicht beachtet, daß Dein Forum ggf. in einem Unter-Unter-Verzeichnis aus Sicht des htdocs-Roots liegt.)
Du kannst auch mittels
$config['script_path']
die ganze Sache angehen, wenn Dir das lieber ist. Oder vllt. hast Du auch noch einen ganz andere Idee.

Re: Neues Verzeichnis definieren
Verfasst: 21.04.2012 18:50
von Malte
(Ich habe hier nicht beachtet, daß Dein Forum ggf. in einem Unter-Unter-Verzeichnis aus Sicht des htdocs-Roots liegt.)
Also bei mir ist es so:
Ganz oben im Verzeichnis des Servers liegen Ordner namens:
-error_docs
-httpdocs
-subdomains
-web_users
-...
Man kann sich denken, was das alles ist.
In dem Falle sind die ganzen Webspacedateien im Ordner httpdocs, der wiederum unter anderem den Ordner "forum" als Unterordner hat.
Du kannst auch mittels $config['script_path']
die ganze Sache angehen, wenn Dir das lieber ist.
Falls dir noch was anderes einfällt, kannst du das gerne sagen.
Auf jeden Fall teste ich das ganze Zeuchs jetzt erstmal und melde mich dann wieder.

Re: Neues Verzeichnis definieren
Verfasst: 21.04.2012 18:57
von Miriam
Mach das... Viel Spaß
Re: Neues Verzeichnis definieren
Verfasst: 21.04.2012 19:29
von Malte
Also ich weiß ja nicht, was ich da verpfuscht habe, aber in einem Testforum habe ich mal folgendes probiert:
Ich habe am Ende der
includes/functions.php
kurz vor
?>
den Text eingefügt:
Code: Alles auswählen
function set_server_root_path()
{
global $phpbb_root_path, $server_root_path;
if (isset($phpbb_root_path))
{
$server_root_path = ($phpbb_root_path == './') ? '../' : '../../';
}
return $server_root_path;
}
Danach habe ich einfach mal im Index meines Testforums gleich nach
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
folgendes eingefügt:
Code: Alles auswählen
set_server_root_path();
include($server_root_path . 'index.' . $phpEx);
Das heißt ich habe mit
set_server_root_path();
die Funktion aktiviert und mit
include($server_root_path . 'index.' . $phpEx);
eine Datei namens index.php ein Verzeichnis höher eingebunden. Bisher läuft es wunderbar, ich danke dir für deine Hilfe.
Nun kann ich ja mal versuchen, ob sich damit irgendwie eine meiner kleinen viewonline-Fehler beheben lassen.
Ich werde dann demnächst nochmal zu dem Thema kommen:
viewtopic.php?f=93&t=220258
Erstmal versuche ich es mal mit
Code: Alles auswählen
case 'home':
$user->add_lang('mods/webseiteindex');
$location = $user->lang['HOME_ONLINE_LISTE'];
$location_url = append_sid("{$server_root_path}home.$phpEx");
break;
Aber das kann man ja dann in dem Thema klären. Ich danke dir erstmal für deine Hilfe.
