ファイル拡張子を削除する
php メソッド: 1. pathinfo 関数を使用して完全なファイル名の一部を返します; 2. Basename 関数を使用してファイル名から拡張子を削除します; 3. substr と拡張子を返さない strrpos 関数 名前の完全なパスとファイル名。
推奨: 「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 サイトの他の関連記事を参照してください。