Heim > Artikel > Backend-Entwicklung > So berechnen Sie den relativen Pfad einer Datei in PHP
Dieser Artikel stellt hauptsächlich die Methode zur Berechnung des relativen Pfads zweier Dateien durch PHP vor, die die Fähigkeiten von PHP-Betriebszeichenfolgen einbezieht, und hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen
Das Beispiel hierfür Der Artikel erzählt die Geschichte der PHP-Methode zur Berechnung der relativen Pfade zweier Dateien. Teilen Sie es als Referenz mit allen. Die Details sind wie folgt:
1. Frage:
Schreiben Sie eine PHP-Funktion, um die relativen Pfade zweier Dateien zu berechnen. Beispiel: $a="/a/b/c/d/e.php"; $b="/a/b/12/34/c.php", was ist der relative Pfad von B relativ zu A?
2. Lösung:
<?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;
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
Eine kurze Einführung in die PHP-Datumsfunktion und wie man die eingestellte Uhrzeit erhält
Anwendung der PHP-Datei Operationsfunktion
Referenzimplementierungsbaum-Generierungsmethode in PHP
Das obige ist der detaillierte Inhalt vonSo berechnen Sie den relativen Pfad einer Datei in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!