指定されたディレクトリ内の任意のファイル名をランダムに取得するためのPHP関数:
この関数は1つのパラメータを受け取ります。 $dirこれは、ファイルのディレクトリパスをランダムに選択するように指定します。この関数はまず、 glob() 指定されたディレクトリ内のすべてのファイルのファイルパスを取得する関数を用い、その後にその結果を適用します。 array_rand() この関数は、任意のファイルをランダムに選択します。最後に、この関数が使用されます。 basename() この関数は、選択されたファイルのファイル名を取得し、それを返します。
指定されたディレクトリにファイルが存在しない場合、この関数は値を返します。 null。
この関数は、以下の方法で呼び出せます:
$dir = '/path/to/files';
$filename = getRandomFileName($dir);
if ($filename !== null) {
echo $filename;
} else {
echo '指定目录下没有文件。';
}其中、/path/to/files ファイルのディレクトリパスをランダムに選択します。関数を呼び出した際、関数はランダムに1つのファイルを選択し、そのファイル名を返します。指定したディレクトリにファイルが存在しない場合は、関数は空の値を返します。 null。
二次需要
複数のファイル名を一度に返したいです!
この関数は2つのパラメータを受け取ります。それぞれはディレクトリのパスです。 $dir 取得するファイルの数 $num。ディレクトリ内にファイルが存在しない場合は、空の値を返します。 nullファイル数が不足している場合 $numこの場合、直接「目次」にあるすべてのファイルのファイル名を返します。
ファイル数が十分に多い場合、すべてのファイルからランダムに選択します。 $num 1つのファイルを指定し、選択されたファイル名を配列に格納して返します。
この関数は、以下の方法で呼び出せます:
$dir = '/path/to/directory';
$num = 3;
$fileNames = getRandomFileNames($dir, $num);
print_r($fileNames);其中、$dir ディレクトリパスです。$num 取得対象のファイル数を指定します。この関数は、ランダムに選択されたファイル名の配列を返します。