這篇文章主要介紹了php計算兩個文件相對路徑的方法,涉及php操作字符串的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了php計算兩個檔案相對路徑的方法。分享給大家供大家參考。具體如下:
一、問題:
寫一個php函數算出兩個檔案的相對路徑。例如$a="/a/b/c/d/e.php"; $b="/a/b/12/34/c.php",B相對於A的相對路徑是什麼?
二、解決方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <?php
function getRelativePath ( $a , $b )
{
$patha = explode ('/', $a );
$pathb = explode ('/', $b );
$counta = count ( $patha ) - 1;
$countb = count ( $pathb ) - 1;
$path = "../" ;
if ( $countb > $counta ) {
while ( $countb > $counta ) {
$path .= "../" ;
$countb --;
}
}
for ( $i = $countb - 1; $i >= 0;) {
if ( $patha [ $i ] != $pathb [ $i ]) {
$path .= "../" ;
$i --;
} else {
for ( $j = $i - 1, $flag = 1; $j >= 0; $j --) {
if ( $patha [ $j ] == $pathb [ $j ]) {
continue ;
} else {
$flag = 0;
break ;
}
}
if ( $flag )
break ;
else
$i ++;
}
}
for ( $i += 1; $i <= $counta ; $i ++) {
$path .= $patha [ $i ] . "/" ;
}
return $path ;
}
$a = "/a/c/d/e.php" ;
$b = "/a/c.php" ;
$path = getRelativePath( $a , $b );
echo $path ;
|
登入後複製
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
相關推薦:
PHP date函數簡述及取得制定時間的方法
PHP檔案操作函數功能的應用
PHP中的引用實作樹的生成方法
以上是php如何計算文件的相對路徑的詳細內容。更多資訊請關注PHP中文網其他相關文章!