ホームページ >バックエンド開発 >PHPチュートリアル >PHPファイルの拡張子判定と拡張子を取得するNの方法、_PHPチュートリアル

PHPファイルの拡張子判定と拡張子を取得するNの方法、_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-12 09:08:34951ブラウズ

PHPファイル拡張子判定とファイル拡張子取得N方法

以下のコードはPHPファイル拡張子判定です

リーリー

PHP でファイル拡張子を取得する N つの方法

基本的には次の方法です:

方法 1:

リーリー

方法 2:

リーリー

方法 3:

リーリー

方法 4:

リーリー

方法 5:

リーリー

上記のメソッドをざっと見たところ、すべて機能しているようです。特にメソッド 1 と 2 は、pathinfo に 2 番目のパラメータがあることを知らなかった前から使用していました。しかし、よく考えてみると、最初の 4 つの方法にはさまざまな欠点があります。ファイル拡張子を完全に正しく取得するには、次の 3 つの特殊な状況に対処できなければなりません。

ファイル拡張子なし

パスには/home/test.d/test.txtなどの文字が含まれています

パスには文字「.」が含まれていますが、ファイルには拡張子がありません。 /home/test.d/test

など

明らかに: 1 と 2 は 3 番目の状況を処理できず、3 は最初と 3 番目の状況を正しく処理できません。 4 は正しく処理されますが、拡張子が存在しない場合は警告が発行されます。方法 5 のみが最も正しい方法です。ちなみに、 pathinfo メソッドを見てください。公式サイトでは次のように紹介されています

リーリー

最大 4 つの要素を含む配列が返されますが、常に 4 つあるとは限りません。たとえば、拡張機能がない場合、拡張要素は存在しないため、4 番目のメソッドは警告のみを検出します。ただし、phpinfo は 2 番目のパラメータもサポートしています。定数を渡して、返されるデータの特定の部分を指定できます:

PATHINFO_DIRNAME - ディレクトリ
PATHINFO_BASENAME - ファイル名 (拡張子を含む)
PATHINFO_EXTENSION - 拡張機能
PATHINFO_FILENAME - ファイル名 (拡張子なし、PHP>5.2)

これら 4 つの定数の値はそれぞれ 1、2、4、8 です。最初は OR 演算を通じて複数の値を指定できると考えました。 リーリー

後で、これは機能しないことがわかりました。いくつかの OR 定数のうちの最小のものしか返されません。つまり、4 つのフラグ ビットの最小ビットは定数 1 です。


上記のコンテンツでは、PHP ファイル拡張子を確認し、ファイル拡張子を取得する N つの方法を紹介しました。

http://www.bkjia.com/PHPjc/1054235.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1054235.html技術記事 PHPファイルの拡張子判定と拡張子を取得するN通りのコードは、 PHPファイルの拡張子判定 DOCTYPEhtmlhead meta http-equiv="Content-type" content="text/html" charset...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。