he el siguiente código de CodeIgniter index.php
¿Qué significa __FILE__?
Mi entendimiento es que,
Si /
de posición de la cadena en $system_folder
(en este caso CIcore_1_7_1) es false
, y si existe realpath
función Y (?) Es no false
, $system_folder
se asigna a (?) /$system_folder
. else $system_folder
se asigna a $system_folder
reemplazando \\
con /
.
Q1. ¿Qué significa la función realpath?
Q2. ¿Qué significa esto?
@realpath(dirname(__FILE__))
Q3. ¿Estoy en lo cierto? ¿Tengo algún malentendido?
Q4. ¿Qué tipo de situación necesitas para lo siguiente?
str_replace("\\", "/", $system_folder)
$system_folder = "CIcore_1_7_1";
/*
|---------------------------------------------------------------
| SET THE SERVER PATH
|---------------------------------------------------------------
|
| Let's 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);
}
¿Por qué hay dos \ s, en lugar de uno \? – shin
Porque \ es el carácter de escape: para poner una cita dentro de una cadena, usa "this is \" a quote ". Para poner una barra diagonal inversa necesitas dos de ellas:" this is \\ a backslash " – Greg