<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// この記事は、参照のみを学習するためです,方法を示します PHP で使用されます rtrim 関数は、パス文字列のエンドスラッシュを処理します。</span></span><span>
</span><span><span class="hljs-comment">// -------------------------------</span></span><span>
使い方 rtrim 関数は、パス文字列のエンドスラッシュを処理します?
存在する PHP ファイルパスを処理するとき,パスが最後にスラッシュがあるかどうかは、後続の文字列ステッチの正しさに影響を与える可能性があります。例えば,如果你要将目录路径和文件名拼接存在する一起,最後に過度のスラッシュが二重のスラッシュの問題を引き起こす可能性があります。現時点では,`rtrim` 関数は便利です。
</span><span><span class="hljs-comment">### rtrim 関数の紹介</span></span><span>
`rtrim` はい PHP 組み込み関数,文字列の右側を削除するために使用されます(エンディング)指定された文字。基本的な構文は次のとおりです:
```php
</span><span><span class="hljs-title function_ invoke__">rtrim</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$characters</span></span><span> = </span><span><span class="hljs-string">" \n\r\t\v\0"</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>$文字列:処理する元の文字列。
$文字:削除する必要がある文字のセットを示すオプションのパラメーター(文字ごとの処理)。指定されていない場合、デフォルトでは白面の文字が削除されます。
パス文字列を操作するときは、通常、エンディングスラッシュ(またはWindowsシステムの下でバックスラッシュ\ )を削除したいと考えています。いくつかの一般的な用途は次のとおりです。
<span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">"/var/www/html/"</span></span><span>;
</span><span><span class="hljs-variable">$cleanPath</span></span><span> = </span><span><span class="hljs-title function_ invoke__">rtrim</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>, </span><span><span class="hljs-string">'/'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$cleanPath</span></span><span>; </span><span><span class="hljs-comment">// 出力: /var/www/html</span></span><span>
</span></span>WindowsとUnixのようなシステムと互換性がある場合は、2つのスラッシュを削除できます。
<span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">"C:\\myfolder\\"</span></span><span>;
</span><span><span class="hljs-variable">$cleanPath</span></span><span> = </span><span><span class="hljs-title function_ invoke__">rtrim</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>, </span><span><span class="hljs-string">'/\\'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$cleanPath</span></span><span>; </span><span><span class="hljs-comment">// 出力: C:\myfolder</span></span><span>
</span></span><span><span><span class="hljs-variable">$basePath</span></span><span> = </span><span><span class="hljs-title function_ invoke__">rtrim</span></span><span>(</span><span><span class="hljs-string">'/var/www/project/'</span></span><span>, </span><span><span class="hljs-string">'/'</span></span><span>);
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'index.php'</span></span><span>;
</span><span><span class="hljs-variable">$fullPath</span></span><span> = </span><span><span class="hljs-variable">$basePath</span></span><span> . </span><span><span class="hljs-string">'/'</span></span><span> . </span><span><span class="hljs-variable">$file</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$fullPath</span></span><span>; </span><span><span class="hljs-comment">// 出力: /var/www/project/index.php</span></span><span>
</span></span>rtrimを使用してスプライシング前に終了スラッシュを削除することにより、 /var/www/ project//index.phpなどのパスエラーを回避できます。
RTRIMは、新しい文字列を返す非破壊関数であり、手動で割り当てない限り、元の変数は変更されません。
ユーザーが入力したパスを扱っている場合は、最初に安全なフィルタリングを行い、パストラバーサル攻撃を防ぐことを忘れないでください。
いくつかのフレームワークでは、LaravelのストレージやSymfonyのファイルシステムコンポーネントなど、パス管理がカプセル化されています。
RTRIMは、シンプルで強力な文字列処理機能です。パス文字列を扱う場合、 RTRIMの合理的な使用は、パスステッチにおける冗長なスラッシュ問題を効果的に防ぐことができ、それによりコードの堅牢性と維持可能性を改善します。
<span></span>