我有这个代码
$ current_path = str_replace('\','/',getcwd()); // C:// XAMPP / htdoc
为什么它失败在目录补丁中用'/'替换'\'?为什么是原因以及如何处理这个问题?
编辑此代码用于返回与HTML TAG库一起使用的路径(或类似内容)。
$current_path = getcwd(); function get_basepath() { global $current_path; $current_path = str_replace('\\', '/', $current_path ); // C:\xampp\htdocs\php\gettingstarted $cur_root = $_SERVER['HTTP_HOST']; // localhost $cur_docroot = $_SERVER['DOCUMENT_ROOT']; // C:/xampp/htdocs/ $cur_filepath = $_SERVER['SCRIPT_FILENAME']; // C:/xampp/htdocs/php/gettingstarted/index.php $filepath = str_replace($cur_docroot, '', $current_path); return "http://$cur_root/" . $filepath . "/"; // http://localhost/php/gettingstarted/index1.php }
答案 0 :(得分:7)
您需要使用双\
,因为\
会转义下一个字符。 :)
$current_path = str_replace('\\', '/', getcwd());
答案 1 :(得分:1)
使用\\
代替\
:
$current_path = str_replace('\\', '/', getcwd());
\
用于转义具有特殊含义的char。现在\
本身就是一个具有特殊含义的字符,因此请使用\
之类的其他\\
来获取字面值。
答案 2 :(得分:1)
这是PHP string syntax问题,您根本不需要替换。
答案 3 :(得分:1)
$current_path = str_replace('\\', '/', getcwd()); //c://xampp/htdoc