#php #variables #require-once
#php #переменные #требовать-один раз
Вопрос:
У меня есть php-скрипт с 2 переменными. $company и $user. Во время этого .php-скрипта я require_once «/var/www/etc/etc/etc/etc/»
В файле .php, который мне требуется _once, переменные из предыдущего скрипта .php не передаются. Я не могу понять, почему или что я делаю неправильно. Пример.
master.php скрипт
$company = "Some Company";
$user = "John";
require_once "/var/www/$company/$user/example.php
example.php скрипт
$myFile = "/var/www/$company/$user/Template/Download/example.php";
Данные, которые хранятся в переменных $company amp; $ user, не сохраняются в примере скрипта. Я не могу понять, почему.
Спасибо
Комментарии:
1. Вы уверены, что скрипт не выдает ошибку, потому что вы забыли
";
в своем вызове require_once?2. Нет, это была просто опечатка здесь. В моем коде есть;
3. Выдается ли ошибка? Если нет, попробуйте включить самый высокий уровень сообщения об ошибках (включите строку
error_reporting(E_ALL);
в верхней части вашего скрипта) и укажите ошибки, которые отображаются.
Ответ №1:
Если переменные используются за пределами их области, вам нужно использовать ключевое слово «global»:
$foo = 'bar';
function fooBarBad() {
echo $foo; //will echo nothing
}
function fooBarOk() {
global $foo;
echo $foo; //will echo bar
}
Ответ №2:
Используете ли вы переменные внутри функции на новой странице? Если это так, то вам нужно зарегистрировать их как глобальные переменные внутри функции. В противном случае переменные должны быть прочитаны нормально в скрипте, вызывающем их из include.
Комментарии:
1. Да, я использую переменные внутри функции на новой странице php. Как мне зарегистрировать их как глобальные внутри функции? И регистрирую ли я их как глобальные внутри функции или раньше?
Ответ №3:
Находятся ли ваши переменные внутри функции? если это так, вы, вероятно, потеряли свои переменные.
В этом случае вам пришлось бы использовать либо ключевое слово «global» внутри функции, либо использовать переменную $GLOBALS для регистрации ваших переменных.
Чтобы действительно увидеть, правильно ли переданы ваши переменные, вы можете сделать
var_dump($company);
var_dump($user);
в верхней части файла example.php