一道求$b相對于$a的相對路徑的php代碼
更新時間:2010年08月08日 16:45:54 作者:
這是一段計算兩個路徑的相對路徑的php代碼,需要的朋友可以參考下。
php面試題的題目:
$a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //計算出 $b 相對于 $a 的相對路徑應(yīng)該是 ../../c/d
php面試題的答案:
復(fù)制代碼 代碼如下:
function getRelative($a,$b) {
$arr = explode("/",$a);
$brr = explode("/",$b);
$c = count($arr)-2;
$d = count($brr)-2;
//之所以減二,一個是不在后面的文件名,
//一個是數(shù)組的索引是從0開始的,比數(shù)組中的第一維的個數(shù)要小一
$e = ($c>$d) ? $c:$d;
$str1 = $str2 = '';
for ($j=0;$j<=$e;$j++) {
$cur_a = isset($arr[$j]) ? $arr[$j] : '';
$cur_b = isset($brr[$j]) ? $brr[$j] : '';
if ($cur_a == $cur_b) {
continue;
} else {
if ($j <= $c)
{
$str1.='/'.$cur_a;
}
if ($j <= $d )
{
$str2.="../";
}
}
}
return $str2.substr($str1,1,strlen($str1));
}
相關(guān)文章
php壓縮HTML函數(shù)輕松實現(xiàn)壓縮html/js/Css及注意事項
如何提高網(wǎng)頁加載速度需要對網(wǎng)頁怎樣的優(yōu)化等等,都是站長們所關(guān)心的問題,其實壓縮網(wǎng)頁的方法很多,本文將講解一下php壓縮HTML函數(shù)輕松實現(xiàn)壓縮html/js/Css,感興趣的朋友可以了解下,希望本文對你有所幫助2013-01-01thinkphp在低版本Nginx 下支持PATHINFO的方法分享
本文給大家分享的是如何讓thinkPHP在低版本的Nginx下支持PATHINFO去掉index.php路徑的方法,十分的簡單實用,思路也很巧妙,有需要的小伙伴可以參考下2016-05-05PHP Warning: Module ''modulename'' already loaded in問題解決辦法
這篇文章主要介紹了PHP Warning: Module 'modulename' already loaded in問題解決辦法,本文總結(jié)了兩種情況,需要的朋友可以參考下2015-03-03php中mail函數(shù)發(fā)送郵件失敗的解決方法
這篇文章主要介紹了php中mail函數(shù)發(fā)送郵件失敗的解決方法,涉及針對Linux運(yùn)行平臺相關(guān)組件的配置技巧,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12php的list()的一步操作給一組變量進(jìn)行賦值的使用
我們在切割字符串可能會把切出來的數(shù)組一個一個付給每個變量,很麻煩的,我們可以用list()函數(shù)來完成2011-05-05