还是路径问题,搜来半天找不到结果,我看还是得送分给大家

teaps 2003-12-28 02:31:00
设a.php文件调用函数getdir(),希望此函数能根据a.php所在目录返回“到站点根目录”的相对路径串。
如设站点根目录为"./",则
./a.php,返回串"",
./DIR/a.php,返回串"../",
./DIR/DIR/a.php,返回串"../../",
如此类推。
注意站点根目录名称是不确定的。谢谢。
...全文
75 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinchangpeng 2004-01-04
  • 打赏
  • 举报
回复
不错
up
teaps 2003-12-31
  • 打赏
  • 举报
回复
leebx(浩如海)你的函数是得到到整个服务器的根目录吧?

比如整个服务器站点的文件夹为webroot,而webroot里包含很多独立的PHP子程序,当然任一个子程序都可能包含多级的目录结构,我现在就是希望在一个独立的具有多级目录结构的PHP子程序中使用相对路径。

设a.php文件调用函数getdir(),希望此函数能根据a.php所在目录返回“到站点根目录”的相对路径串。
如设有某子程序的顶级目录为"webroot/test/my",则
my/a.php和my/DIR/b.php都调用getdir()时应分别返回""与"../"。
这里不一定是要返回"../"什么的,只是要这种实现相对路径的功能。
不知有什么好的实现办法?
patchclass 2003-12-29
  • 打赏
  • 举报
回复
我也问过一样的问题啊,最后也是用split分割/
然后选择后 再连接 痛苦啊 笨办法
leebx 2003-12-29
  • 打赏
  • 举报
回复
更正
function getdir()
{
$array_Number=split("/",$_SERVER['PHP_SELF']);
$s = "";
for($int_i=1;$int_i<count($array_Number)-1;$int_i++){
$s .= "../";
}
} // end func
leebx 2003-12-29
  • 打赏
  • 举报
回复
function getdir()
{
$$array_Number=split("/",$_SERVER['PHP_SELF']);
$s = "";
for($int_i=1;$int_i<count($array_Number)-1;$int_i++){
$s .= "../";
}
} // end func
xuzuning 2003-12-29
  • 打赏
  • 举报
回复
不太明白你的意思,在每个a.php中调用getdir()?
既然是相对路径,参照点总是要有的吧?
Cain 2003-12-29
  • 打赏
  • 举报
回复
帮你up一下
teaps 2003-12-28
  • 打赏
  • 举报
回复
我现在的实现办法就是
function getdir()
{
$Config_DocumentRoot="AAA";
$count=substr_count(strstr(strtolower($_SERVER['PHP_SELF']),strtolower($Config_DocumentRoot)), "/");
return ($count==2)?"../":"";
} // end func
但这样AAA就不能变更了。
希望告诉我更新的办法或其它实现跟这类似功能的办法。谢谢
teaps 2003-12-28
  • 打赏
  • 举报
回复
要的是到自己站点的根目录,不是整个服务器站点的根目录。
谢谢华帝兄长途拨涉的来教我
weiwei6 2003-12-28
  • 打赏
  • 举报
回复
这个问题不错,up一下
hodat 2003-12-28
  • 打赏
  • 举报
回复
<?
$string_ScriptName = $_ENV[SCRIPT_NAME];
$array_Number=explode("/",$string_ScriptName);
for($int_i=1;$int_i<count($array_Number)-1;$int_i++){
echo "../";
$s .= "../";
}
?>

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧