Как я могу получить доступ к script из корня по протоколу http?

У меня есть эта папка-структура:

\out
    \script.php
\root
    \include
        \calculator.php

Мне нужно, чтобы script в \calculator.php. Как включить его?

// calculator.php
require( what path ? );
 ..

Примечание. Я могу включить его по этому пути: ../out/script.php. Но мне также нужно передать аргумент script.php. Поэтому я хочу что-то вроде этого:

.. what path/script.php?arg=value

И как вы знаете, потому что мне нужно передать аргумент, поэтому я должен использовать протокол http. Все, что я хочу знать, как использовать http и ../? Что-то вроде этого:

http://../out/script.php?arg=value

Ответ 1

Вам не нужно передавать параметры при включении script, поскольку он загружается в ту же область, что и первый script. Это означает, что script../out/script.php имеет доступ к аргументам строки запроса через переменную $_GET:

$_GET['arg']

Кроме того, любые переменные, которые вы определяете в калькуляторе, будут доступны в script.php

Ответ 2

Вы можете создать экземпляр некоторых переменных внутри супергалога $_GET перед тем, как включить свой файл, т.е.

$_GET['arg'] = "value";
require('../../out/script.php');

Но это не идеальное, на мой взгляд.

Если бы я был вами, я бы использовал скучную глобальную переменную (предполагая, что вы начинаете в глобальной области):

$arg = 'value';
require('../../out/script.php');

Затем просто используйте его как любую другую переменную (возможно, с некоторой проверкой здравомыслия):

if (!isset($arg)) {
    die('Oh my! $arg is not set! Error! Danger!');
}

do_something_with($arg);