PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

ファイル名がUTF-8の場合、PHP pathinfo()が正しいファイル名を返すようにします


ほとんどのコアPHP関数は、Latin-1以外の文字セットを処理しません。ただし、「pathinfo」の前に「setlocale」を配置すると、UTF-8でエンコードされている場合でも正しいファイル名を返すことができます。

デフォルトでは、「C」ロケールで実行され、CLIスクリプトはデフォルトのutf-8ロケールで実行されます。他の関数を呼び出す前に、サーバーのロケールを「C」から「C.UTF-8」または「en_US.UTF-8」に変更する必要があります。

setlocale(LC_ALL,'en_US.UTF-8');
pathinfo($OriginalName, PATHINFO_FILENAME);
pathinfo($OriginalName, PATHINFO_BASENAME);

  1. PHPのpathinfo()関数

    pathinfo()関数は、配列内のファイルパスに関する情報を返します。 pathinfo()関数は、次の要素を持つ連想配列を返します- ディレクトリ名- ディレクトリ名を返します ベース名- ベース名を返します 拡張- 拡張子を返します 構文 pathinfo(path,options) パラメータ パス- チェックするパス。 オプション- 返す要素を指定します PATHINFO_DIRNAME-dirnameのみを返します PATHINFO_BASENAME-ベース名のみを返します PATHINFO_EXTENSION-拡張子のみを返します 戻る

  2. サブ配列を逆にすると、配列がPythonでソートされるかどうかを確認します

    一意の要素を持つnumsという配列があるとします。配列の1つのサブ配列を逆にした後、配列がソートされるかどうかを確認する必要があります。配列がすでに並べ替えられている場合は、trueも返します。 したがって、入力がnums =[4,6,27,25,15,9,37,42]のような場合、[9,15,25,27]を逆にすると、配列がTrueになるため、出力はTrueになります。並べ替えられます。 これを解決するには、次の手順に従います- n:=numsのサイズ 配列に要素が1つしかない場合は、Trueを返します i:=1 1からn-1の範囲のiの場合、do nums [i-1]