パスを出力する関数があります。結果は次のとおりです。
http://server.com/subdirectory/subdiretory/2021/12/file.txt
http://server.com/subdirectory/subdiretory/something/else/2016/16/file.txt
http://server.com/subdirectory/subdiretory/2001/22/file.txt
C:\totalmess/mess\mess/2012/06/file.txt
ファイル名と 2 つの親ディレクトリを除いて、これらからすべてを切り取りたいので、上記のものは次のようになります。
/2021/12/file.txt
/2016/16/file.txt
/2001/22/file.txt
/20012/06/file.txt
したがって、基本的には、最後から 3 番目の「/」を見つけて、その後にすべてを表示する必要があります。
PHP の良さはよくわかりませんが、substr()、stripos()、strlen() を使えば簡単に実現できると思います。
$string ="http://server.com/subdirectory/subdiretory/2001/22/file.txt"
$end = strlen($string);
$slash = // How to get the right slash using stripos()?
$output = substr($string, $slash, $end);
echo $output;
これはこれを行う正しい方法ですか、それとも文字列内の -n 番目の記号を検索する別の組み込み関数があるのでしょうか?