<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            php語言

            php計算兩個文件相對路徑的方法

            時間:2024-12-20 12:51:12 php語言 我要投稿
            • 相關推薦

            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

              /**

              * 求$b相對于$a的相對路徑

              * @param string $a

              * @param string $b

              * @return string

              */

              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程序設計有所幫助。

            【php計算兩個文件相對路徑的方法】相關文章:

            實用php計算兩個文件相對路徑04-14

            php讀取文件內容的方法03-15

            PHP讀取文件的正確方法04-05

            PHP文件與目錄操作的方法05-01

            php遞歸遍歷刪除文件的方法04-02

            PHP遍歷目錄文件常用方法03-06

            PHP中讀取大文件的方法04-08

            php文件上傳后端處理方法05-05

            php實現簡單文件下載的方法07-24

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院