私は小さな関数に取り組んでおり、URL を受け取り、それ自体が存在する場所に基づいて相対パスを返します。
URL のクエリ文字列にパスが含まれている場合、pathinfo
正しくない結果が返されます。これは、以下のコードによって示されます。
$p = 'http://localhost/demos/image_editor/dir_adjuster.php?u=http://localhost/demos/some/dir/afile.txt';
$my_path_info = pathinfo($p);
echo $p . '<br/><pre>';
print_r($my_path_info);
echo '</pre>';
そのコードは次を出力します。
http://localhost/demos/image_editor/dir_adjuster.php?u=http://localhost/demos/some/dir/afile.txt
Array
(
[dirname] => http://localhost/demos/image_editor/dir_adjuster.php?u=http://localhost/demos/some/dir
[basename] => afile.txt
[extension] => txt
[filename] => afile
)
これは明らかに間違っています。回避策はありますか?