http://csdn.net/expert/001/./../../example.php
的绝对地址
http://csdn.net/example.php
再者,具体容错性
http://csdn.net/../../../../index.php
获得其的真实地址http://csdn.net/../../../../index.php
想得到上述答案该用什么函数呢?
7 个解决方案
#1
可以使用realpath();
#2
string realpath ( string path )
realpath() 扩展所有的符号连接并且处理输入的 path 中的 '/./', '/../' 以及多余的 '/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 '/../' 成分。
realpath() 失败时返回 FALSE,比如说文件不存在的话。在 BSD 系统上,如果仅仅是 path 不存在的话,PHP 并不会像其它系统那样返回 FALSE。
<?php
$real_path = realpath("../../index.php");
?>
realpath() 扩展所有的符号连接并且处理输入的 path 中的 '/./', '/../' 以及多余的 '/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 '/../' 成分。
realpath() 失败时返回 FALSE,比如说文件不存在的话。在 BSD 系统上,如果仅仅是 path 不存在的话,PHP 并不会像其它系统那样返回 FALSE。
<?php
$real_path = realpath("../../index.php");
?>
#3
realpath是获得文件的绝对物理地址,和lz的要求不同吧。
#4
iasky兄弟说得对
是不是得自己编一个?
是不是得自己编一个?
#5
那http://csdn.net/../../../../index.php的真实地址该是什么呢?
#6
其实在客户端的http header 传来的 get 就是哪个文件的绝对地址。
而 host 就是域名了。
而 host 就是域名了。
#7
Gdj(陈水.智商只有129.非卖品) ( ) 信誉:100 2006-5-14 3:02:25 得分: 0
那http://csdn.net/../../../../index.php的真实地址该是什么呢?
就是http://csdn.net/index.php
^_^
那http://csdn.net/../../../../index.php的真实地址该是什么呢?
就是http://csdn.net/index.php
^_^
#1
可以使用realpath();
#2
string realpath ( string path )
realpath() 扩展所有的符号连接并且处理输入的 path 中的 '/./', '/../' 以及多余的 '/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 '/../' 成分。
realpath() 失败时返回 FALSE,比如说文件不存在的话。在 BSD 系统上,如果仅仅是 path 不存在的话,PHP 并不会像其它系统那样返回 FALSE。
<?php
$real_path = realpath("../../index.php");
?>
realpath() 扩展所有的符号连接并且处理输入的 path 中的 '/./', '/../' 以及多余的 '/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 '/../' 成分。
realpath() 失败时返回 FALSE,比如说文件不存在的话。在 BSD 系统上,如果仅仅是 path 不存在的话,PHP 并不会像其它系统那样返回 FALSE。
<?php
$real_path = realpath("../../index.php");
?>
#3
realpath是获得文件的绝对物理地址,和lz的要求不同吧。
#4
iasky兄弟说得对
是不是得自己编一个?
是不是得自己编一个?
#5
那http://csdn.net/../../../../index.php的真实地址该是什么呢?
#6
其实在客户端的http header 传来的 get 就是哪个文件的绝对地址。
而 host 就是域名了。
而 host 就是域名了。
#7
Gdj(陈水.智商只有129.非卖品) ( ) 信誉:100 2006-5-14 3:02:25 得分: 0
那http://csdn.net/../../../../index.php的真实地址该是什么呢?
就是http://csdn.net/index.php
^_^
那http://csdn.net/../../../../index.php的真实地址该是什么呢?
就是http://csdn.net/index.php
^_^