かなりばかげた質問です、ごめんなさい。バグのある大きくてかなり複雑なシステムがあり、私はそれをこの部分まで追跡することができました
return str_replace('%2F', '/', rawurlencode(str_replace('%20', ' ', $key)));
パス構造を維持するためにスラッシュが置き換えられる理由を説明するコメントがあります(例:encoded1 / encode2 / etc)。ただし、%20がスペースに置き換えられ、その部分がバグの直接の原因である理由はまったく説明されていません。str_replace()を削除したいのですが、何らかの理由でそこに配置されたようで、これを行うことで何か他のものを壊してしまうような気がします。誰かが似たようなものに遭遇したことがありますか?おそらくそれはいくつかのPHPバグの汚い修正ですか?推測や洞察は大歓迎です!