[解決済み] PHPでファイルの拡張子を取得する方法を教えてください。
2022-03-19 23:27:12
質問
これは、ウェブ上のあらゆる場所で読むことができ、様々な回答がある質問です。
$ext = end(explode('.', $filename));
$ext = substr(strrchr($filename, '.'), 1);
$ext = substr($filename, strrpos($filename, '.') + 1);
$ext = preg_replace('/^.*\.([^.]+)$/D', '$1', $filename);
$exts = split("[/\\.]", $filename);
$n = count($exts)-1;
$ext = $exts[$n];
などです。
しかし、常に最良の方法があり、それはStack Overflowにあるはずです。
どのように解決するのですか?
他のスクリプト言語から来た人たちは、PHPではなく自分たちの言語にはそのための関数が組み込まれているので、自分たちの言語が優れていると常に思っています。
実は、存在するのですが、知っている人はほとんどいません。ミート
pathinfo()
:
$ext = pathinfo($filename, PATHINFO_EXTENSION);
これは高速で内蔵されています。
pathinfo()
は、渡す定数によって正規のパスなど他の情報を与えることができます。
非 ASCII 文字を扱えるようにするには、まずロケールを設定する必要があることを覚えておいてください。例
setlocale(LC_ALL,'en_US.UTF-8');
また、これはファイルの内容やmime-typeを考慮せず、拡張子のみを取得することに注意してください。しかし、これはあなたが要求したものです。
最後に、これはファイルパスに対してのみ機能し、URLリソースパスに対しては機能しないことに注意してください。
楽しむ
関連
-
[解決済み】move_uploaded_fileは、「failed to open stream: Permission denied" というエラーが出る
-
[解決済み】++と*+の意味は何ですか?
-
[解決済み】警告: file_get_contents(): https:// ラッパーがサーバー構成ですべて無効になっています。
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] PHPのエラーを表示させるにはどうしたらいいですか?
-
[解決済み] Pythonでファイル名から拡張子を抽出する
-
[解決済み] 拡張子.mdのファイルとその編集方法を教えてください。
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】++と*+の意味は何ですか?
-
[解決済み】php, mysql - データベースへの接続数が多すぎるエラー
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み】PHPからPythonスクリプトを実行する
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み】In_arrayが動作しない。
-
[解決済み] オートロードとは何ですか; spl_autoload、__autoload、spl_autoload_register はどのように使うのですか?
-
[解決済み] PHPでファイルの拡張子を取得する方法は?[重複しています]。