伙计我经常使用以下代码,但没有正确理解函数的确切语义.特别是对于最后两个str_replace函数.任何人都可以解释我这里发生了什么(稍微详细一点)?
$this_file = str_replace('\\', '/', __FILE__);
$doc_root = $_SERVER['DOCUMENT_ROOT'];
$web_root = str_replace(array($doc_root, 'application/config.php'), '', $doc_root);
$srv_root = str_replace('application/config.php', '', $doc_root);
Run Code Online (Sandbox Code Playgroud)
\
用正斜杠替换反斜杠/
(之后不使用该变量).application/config.php
文档根字符串的任何出现并将其存储$web_root
(对我来说似乎是无用的代码).application/config.php
文档根字符串中的任何出现并将其存储$srv_root
(再次,看起来像无用的代码,因为文档根目录应该是目录,而不是文件).结论:似乎这段代码可以翻译成以下内容,并且这些"计算"实际上都不是必需的:
$doc_root = $_SERVER['DOCUMENT_ROOT'];
$web_root = '';
$srv_root = $doc_root;
Run Code Online (Sandbox Code Playgroud)
甚至更短:
$doc_root = $srv_root = $_SERVER['DOCUMENT_ROOT'];
$web_root = '';
Run Code Online (Sandbox Code Playgroud)