<? Php
// Use php to find the relative path of the two files
Function compara_path ($ path_a, $ path_ B ){
// Cut path.
$ Array_a = explode ('/', $ path_a );
$ Array_ B = explode ('/', $ path_ B );
// Delete the last object from the array, and the rest is the folder name.
$ File_a = array_pop ($ array_a); // array_pop () pops up and returns the last unit of the array.
$ File_ B = array_pop ($ array_ B );
// Number of subdirectories.
$ A_len = count ($ array_a );
$ B _len = count ($ array_ B );
// Cyclically find the directories that are different.
For ($ I = 0; $ I <$ a_len; $ I ++ ){
If ($ array_a [$ I]! = $ Array_ B [$ I]) {
Break;
}
}
// Obtain the relative path.
$ Com_path = "";
For ($ j = 0; $ j <$ a_len-$ I; $ j ++ ){
$ Com_path. = '../';
}
For ($ I; $ I <$ B _len; $ I ++ ){
$ Com_path. = $ array_ B [$ I]. '/';
}
$ Com_path. = $ file_ B;
Return $ com_path;
}
$ Path_a = "a/B/c/d/e/f. php ";
$ Path_ B = "a/B/z/x/y. php ";
Echo compara_path ($ path_a, $ path_ B );
From: Xiao Peng's blog