Obwohl Paul beschreibt, was vor sich geht, werde ich versuchen, es noch einmal zu erklären.
Wenn Sie eine Variable erstellen, gehört sie zu einem bestimmten Bereich. Ein Bereich ist ein Bereich, in dem eine Variable verwendet werden kann.
Zum Beispiel, wenn ich dieses
$some_var = 1;
function some_fun()
{
echo $some_var;
}
die Variable innerhalb der Funktion darf nicht tun, weil sie nicht innerhalb der Funktion erstellt wurde. Denn es ist in einer Funktion zu arbeiten, müssen Sie das Schlüsselwort global verwenden, so würde das folgende Beispiel
$some_var = 1;
function some_fun()
{
global $some_var; //Call the variable into the function scope!
echo $some_var;
}
arbeiten Diese umgekehrt ist, so können Sie nicht tun, die folgende
function init()
{
$some_var = true;
}
init();
if($some_var) // this is not defined.
{
}
Es gibt ein paar Möglichkeiten, um diese, aber die einfachste von allen ist mit $GLOBALS
Array, die überall im Skript erlaubt ist, da sie spezielle Variablen sind.
So
$GLOBALS['config'] = array(
'Some Car' => 22
);
function do_something()
{
echo $GLOBALS['config']['some Car']; //works
}
Auch stellen Sie sicher, dass Server in Ihrer INI für Sicherheit ausgeschaltet Register Globals hat. http://www.php.net/manual/en/security.globals.php
groß.Das hat das Problem behoben: D – ganjan
Alternativ könnte man die Datei innerhalb der Funktion selbst() anfordern. Das würde es auch in den richtigen Bereich bringen. Ich kann nicht sagen, dass ich das tatsächlich empfehlen würde, aber der Punkt ist: Wenn Sie eine Datei einschließen, wird sie in dem Bereich ausgeführt, in dem sich die Include-Anweisung befindet. –