変数の末尾からスラッシュを削除する方法を教えてください。
私のindex.phpには次のものがあります:
$url=$_SERVER['REQUEST_URI'];
include_once "sites/$url.php";
私の問題は、書いてexample.com/test/somefile/
も何も来ないことですが、書いexample.com/test/somefile
てもうまくいくことです
変数がスラッシュで終わっている場合、スラッシュを削除する方法はありますか?
変数の末尾からスラッシュを削除する方法を教えてください。
私のindex.phpには次のものがあります:
$url=$_SERVER['REQUEST_URI'];
include_once "sites/$url.php";
私の問題は、書いてexample.com/test/somefile/
も何も来ないことですが、書いexample.com/test/somefile
てもうまくいくことです
変数がスラッシュで終わっている場合、スラッシュを削除する方法はありますか?
これをしないでください。
あなたは、ユーザーが良い 2 つの靴であり、要求に戸惑わないことに依存しています。
結論として、コードにファイルを含めるためにブラウザーの要求に依存しないでください。
これを試して
$url = rtrim($url, '/');
PHP.net からhttp://ua2.php.net/rtrim
> character_mask パラメーターを使用して、削除する文字を指定することもできます。削除したいすべての文字をリストするだけです。.. を使用すると、文字の範囲を指定できます。
これで問題は解決しますが、コード インジェクションは非常に深刻なセキュリティ上の問題であるため、コメントに投稿された警告とコード インジェクションに関するその他の回答を考慮してください。