現在の位置: ホーム> 最新記事一覧> ファイル名がCTYPE_upper関数による大文字のみの仕様を満たしているかどうかを判断する方法は?

ファイル名がCTYPE_upper関数による大文字のみの仕様を満たしているかどうかを判断する方法は?

M66 2025-06-15

PHPでは、ファイル名が大文字のみの仕様に準拠するかどうかを確認するなど、文字列に大文字のみが含まれるかどうかを判断する必要がある場合があります。 ctype_upper関数は、文字列内のすべての文字が大文字であるかどうかを判断するための非常に実用的な関数です。

この記事では、 CTYPE_upper関数を使用してこの判断を完了し、ファイル名の実際の状況と組み合わせてそれを実証する方法を詳細に紹介します。

ctype_upper関数とは何ですか?

CTYPE_UPPERは、文字が大文字かどうかを検出するPHPの関数です。文字列内のすべての文字をチェックし、文字列内のすべての文字が大文字(AZ)である場合にのみtrueを返し、それ以外の場合はfalseを返します。

関数プロトタイプ:

 bool ctype_upper(string $text)

要件分析

  • 審査される文字列はファイル名です。

  • ファイル名は大文字(AZ)のみを含むことができ、小文字、数字、特別なシンボルなどは許可されていません。

  • 仕様が準拠している場合、出力に準拠したプロンプトがあります。それ以外の場合、プロンプトは準拠していません。

サンプルコード

<?php
// サンプルファイル名
$filename = "DOCUMENT.TXT";

// ファイル名の主要部分を取得します(拡張機能は含まれていません)
$basename = pathinfo($filename, PATHINFO_FILENAME);

// 大文字のみが含まれているかどうかを判断します
if (ctype_upper($basename)) {
    echo "ファイル名は、大文字のみを含む仕様に準拠しています。";
} else {
    echo "ファイル名は仕様を満たしていません,必ず大文字のみを含めてください。";
}
?>

ここでは、 PathInfo関数を使用してファイル名の主要部分を取得して、判断に影響を与える拡張機能のドットまたは小文字を避けます。 ctype_upperは、ファイル名の本体がすべて大文字であるかどうかのみを決定します。

注意すべきこと

  1. ctype_upperは手紙のみを審査し、数字、ドット、アンダースコアなどについてfalseを返します。

  2. ファイル名に拡張子が含まれている場合、通常、判断を下す前に拡張機能を削除する必要があります。

  3. ファイル名が空の文字列の場合、 ctype_upperはfalseを返します。

高度な例:URLを介してアップロードされたファイル名確認

ファイルがフォームを介してアップロードされていると仮定すると、ファイル名は大文字のみが含まれている仕様を遵守する必要があります。サンプルコードは次のとおりです。