php有获得绝对地址的函数吗?

时间:2022-04-22 03:40:23
比如想获得

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");
?>

#3


realpath是获得文件的绝对物理地址,和lz的要求不同吧。

#4


iasky兄弟说得对

是不是得自己编一个?

#5


那http://csdn.net/../../../../index.php的真实地址该是什么呢?

#6


其实在客户端的http header 传来的 get 就是哪个文件的绝对地址。
而 host 就是域名了。

#7


Gdj(陈水.智商只有129.非卖品) ( ) 信誉:100  2006-5-14 3:02:25  得分: 0  
 
 
   
那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");
?>

#3


realpath是获得文件的绝对物理地址,和lz的要求不同吧。

#4


iasky兄弟说得对

是不是得自己编一个?

#5


那http://csdn.net/../../../../index.php的真实地址该是什么呢?

#6


其实在客户端的http header 传来的 get 就是哪个文件的绝对地址。
而 host 就是域名了。

#7


Gdj(陈水.智商只有129.非卖品) ( ) 信誉:100  2006-5-14 3:02:25  得分: 0  
 
 
   
那http://csdn.net/../../../../index.php的真实地址该是什么呢?

  
 
就是http://csdn.net/index.php
^_^