Подтвердить что ты не робот

Что означает __FILE__?

У меня есть код Codeigniter index.php

Я понимаю, что

Если / позиции строки в $system_folder (в данном случае CIcore_1_7_1) false, и если существует функция realpath AND (?) не false, $system_folder присваивается (?) /$system_folder. else $system_folder присваивается $system_folder с заменой \\ на /.

Q1. Что означает функция realpath?

Q2. Что это значит?

@realpath(dirname(__FILE__))

Q3. Я прав? Есть ли у меня какие-либо недоразумения?

Q4. Какая ситуация вам нужна?

str_replace("\\", "/", $system_folder)

$system_folder = "CIcore_1_7_1";

/*
|---------------------------------------------------------------
| SET THE SERVER PATH
|---------------------------------------------------------------
|
| Let attempt to determine the full-server path to the "system"
| folder in order to reduce the possibility of path problems.
| Note: We only attempt this if the user hasn't specified a 
| full server path.
|
*/

if (strpos($system_folder, '/') === FALSE)
{
    if (function_exists('realpath') AND @realpath(dirname(__FILE__)) !== FALSE)
    {
        $system_folder = realpath(dirname(__FILE__)).'/'.$system_folder;
    }
}
else
{
    // Swap directory separators to Unix style for consistency
    $system_folder = str_replace("\\", "/", $system_folder); 
}
4b9b3361

Ответ 1

  • Функция realpath() дает вам путь к файловой системе с любыми символическими ссылками и перемещением каталогов (например,../../) разрешено. Функция dirname() дает вам только каталог, а не файл внутри него.

  • __FILE__ - волшебная константа, которая дает вам путь файловой системы к текущему файлу .php(тот, который __FILE__ находится, а не тот, в который он включается, если он включен.

  • Звучит правильно.

  • Это нужно перевести из путей стиля Windows (\) в стиль Unix (/).

Ответ 2

__FILE__ - это просто имя текущего файла. realpath(dirname(__FILE__)) получает имя каталога, в котором находится файл, - в сущности, каталог, в котором установлено приложение. И @ - это очень глупый способ подавления ошибок PHP.

Ответ 3

__FILE__

Полный путь и имя файла файл. Если используется внутри include, будет возвращено имя включенного файла. Начиная с PHP 4.0.2, ФАЙЛ всегда содержит абсолютный путь с символические ссылки разрешены, тогда как в более старых В версиях он содержал относительный путь при некоторых обстоятельствах.


string dirname  ( string $path  )

Учитывая строку, содержащую путь к файлу, эта функция вернется имя каталога.


str_replace("\\", "/", $system_folder)

Вам нужно, чтобы это состояло в разделителях пути между различными операционными системами. Windows использует\и * nix использует /, вы держите с/.