开发者

meaning of the following php code?

Guys I have been using the following code quite ofte开发者_StackOverflown but haven't properly understood the exact semantics of the functions. Especially for the last two str_replace functions. Can anybody explain me whats exactly happening here(in a little detail)?

$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);


  1. Replace the backslashes \ with forward slashes / (the variable is not used after that).
  2. Get the document root from the server super-global (typically will be the Apache config DocumentRoot directive).
  3. Replace any occurence of the document root or application/config.php from the document root string and store it in $web_root (seems like useless code to me).
  4. Replace any occurence of application/config.php from the document root string and store it in $srv_root (again, seems like useless code, because a document root should be a directory, not a file).

Conclusion: It seems like this code could be translated into the following, and that none of these "calculations" are actually necessary:

$doc_root = $_SERVER['DOCUMENT_ROOT'];
$web_root = '';
$srv_root = $doc_root;

Or even shorter:

$doc_root = $srv_root = $_SERVER['DOCUMENT_ROOT'];
$web_root = '';
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜