ホームページ > バックエンド開発 > PHPの問題 > PHPでファイル拡張子を削除する方法

PHPでファイル拡張子を削除する方法

藏色散人
リリース: 2023-03-04 21:40:01
オリジナル
3430 人が閲覧しました

ファイル拡張子を削除する

php メソッド: 1. pathinfo 関数を使用して完全なファイル名の一部を返します; 2. Basename 関数を使用してファイル名から拡張子を削除します; 3. substr と拡張子を返さない strrpos 関数 名前の完全なパスとファイル名。

PHPでファイル拡張子を削除する方法

推奨: 「PHP ビデオ チュートリアル

PHP はファイル名から拡張子を削除します (ファイル名) 名前 (拡張子) を付ける 3 つの方法

ファイル名があり、PHP から拡張子 (拡張子) を削除する必要がある場合、これを行う方法はたくさんあります。ここには 3 つの方法があります。

pathinfo() 関数を使用する

pathinfo() 関数は、ディレクトリ名、ベース名、拡張子、およびファイル名を含む配列を返します。あるいは、PATHINFO_ 定数を渡して、完全なファイル名のその部分を返すこともできます。

$filename ='filename.html';
$without_extension = pathinfo($filename, PATHINFO_FILENAME);
ログイン後にコピー

ファイル名に完全なパスが含まれている場合は、拡張子を除いたファイル名のみが返されます。

basename() 関数の使用

拡張子が既知で、すべてのファイル名で同じである場合は、オプションの 2 番目の引数をbasename() に渡してそれを伝えることができます。ファイル名からその拡張子を削除するには、次のようにします。

$filename ='filename.html';
$without_extension = basename($filename,'.html');
ログイン後にコピー

ファイル名にフルパスが含まれている場合は、拡張子を除いたファイル名のみが返されます。

substr および strrpos の使用

$filename ='filename.html';
$without_extension = substr($filename, 0, strrpos($filename, "."));
ログイン後にコピー

ファイル名にフル パスが含まれている場合は、拡張子を除いたフル パスとファイル名を返します。 Basename() を使用してパスを削除できます (例:

basename(substr($filename, 0, strrpos($filename, ".")));
ログイン後にコピー

)。ただし、pathinfo を使用するよりも遅くなります。

速度比較

PHP 5.4 を使用して Mac 上でこれらのそれぞれをループで 10,000,000 回実行します:

pathinfo:10.13秒
basename:7.87秒
substr / strrpos:6.05秒
basename(substr / strrpos):11.98秒
ログイン後にコピー

ファイル名に次のものが含まれていない場合フルパス、またはそれが重要でない場合は、substr/strrpos オプションが最も速いようです。

ファイル名にパスが含まれており、パスは必要ないが、削除したい拡張子はわかっている場合は、basename が最も速いようです。

ファイル名にパスが含まれており、パスは必要なく、拡張子が不明な場合は、pathinfo() オプションを使用します。

#結論

これを行うには他にも多くの方法があり、中にはより高速な方法もあります。多くの場合、速度はそれほど重要ではありません (結局のところ、pathinfo を実行するのに 10 秒かかるのは 100,000 回です)。この記事の目的は、PHP を使用してファイル名から拡張子を削除するいくつかの方法を示すことです。

以上がPHPでファイル拡張子を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート