За последние 24 часа нас посетили 22636 программистов и 1152 робота. Сейчас ищут 625 программистов ...

Подключение файлов

Тема в разделе "PHP для новичков", создана пользователем Vladchucha, 5 дек 2018.

  1. Vladchucha

    Vladchucha Активный пользователь

    С нами с:
    12 ноя 2018
    Сообщения:
    167
    Симпатии:
    7
    Адрес:
    Nürnberg
    Добрый день,
    подскажите пожалуйста где ошибка.
    Код (Text):
    1. require_once('../password.php');
    Все хорошо, работает.
    Делаю так:
    Код (Text):
    1. $basedir = dirname(__FILE__).'/..';
    2.  
    3. require_once($basedir.'/globalincluds/password.php');
    ,
    получаю сообщение
    D:\Server\XAMPP\htdocs\Ockham\globalincluds\Classes/..
    Warning: require_once(D:\Server\XAMPP\htdocs\Ockham\globalincluds\Classes/../globalincluds/password.php): failed to open stream: No such file or directory in D:\Server\XAMPP\htdocs\Ockham\globalincluds\Classes\dbmsql.php on line 29

    Fatal error: require_once(): Failed opening required 'D:\Server\XAMPP\htdocs\Ockham\globalincluds\Classes/../globalincluds/password.php' (include_path='D:\Server\XAMPP\php\PEAR') in D:\Server\XAMPP\htdocs\Ockham\globalincluds\Classes\dbmsql.php on line 29

    password.php находится в globalincluds.
    Спасибо.
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.751
    Симпатии:
    1.322
    Адрес:
    Лень
    _once удаляй приставку
    --- Добавлено ---
    задаешь не верный DIR
    --- Добавлено ---
    dirname ( __FILE_, 2 ) . DIRECTORY_SEPARATOR . 'password.php';
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    @Vladchucha, при формировании абс. путей лучше воздержаться от фрагметов вроде /../
    --- Добавлено ---
    Т.е. делайте сразу канонический (реальный). Ну в Win еще можно на крайняк замешать разные виды слэшей в одном пути, чтобы не усложнять код, но не более.
    --- Добавлено ---
    P.S. Как выше написали, в этих делах обычно используется ф-ция dirname и маг. константы. Помимо указанной есть еще более новая __DIR__, чтобы где-то можно было не использовать второй параметр dirname или влож вызовы этой ф-ции.
     
  4. Vladchucha

    Vladchucha Активный пользователь

    С нами с:
    12 ноя 2018
    Сообщения:
    167
    Симпатии:
    7
    Адрес:
    Nürnberg
    Спасибо,
    завтра попробую.....
     
  5. Vladchucha

    Vladchucha Активный пользователь

    С нами с:
    12 ноя 2018
    Сообщения:
    167
    Симпатии:
    7
    Адрес:
    Nürnberg
    Вариант
    Код (Text):
    1. dirname ( __FILE_, 2 ) . DIRECTORY_SEPARATOR . 'password.php';
    работает, замечательно.
    Но дальше не врубаюсь. итак.
    В файле GLOBAL_INCLUDS.php подключается в свою очередь файл dbmsql.php.
    То есть стуктура такая:
    Каталог globalincluds, в нем два файла , password.php, GLOBAL_INCLUDS.php
    и Каталог Classes, в нем файл dbmsql.php.
    пробовал разные варианты,но все время путь неверен, причем всегда не "видит" каталога Classes.
    Вообще странно или ничерта не понимаю.
    что, нет в функции, которая тупо сообщает путь для указанного файла...??
    Спасибо за возможную следующую помощь,все, поздно, спать.
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    У вас в старт. посте была верная идея. Объявите общую основу во фронте и считайте все от нее (кроме либ, которые используются/могут использоваться разными сайтами).
    --- Добавлено ---
    Гляньте «середину» этой статьи.
     
  7. Vladchucha

    Vladchucha Активный пользователь

    С нами с:
    12 ноя 2018
    Сообщения:
    167
    Симпатии:
    7
    Адрес:
    Nürnberg
    Спасибо большое,
    вроде с вашей и божью помощью
    выкручиваюсь.