可以隨機獲取指定目錄下一個文件名的 PHP 函數:
該函數接受一個參數 $dir,表示要隨機選擇文件的目錄路徑。函數首先使用 glob() 函數來獲取指定目錄下所有文件的文件路徑,然後使用 array_rand() 函數從中隨機選擇一個文件。最後,函數使用 basename() 函數獲取選中文件的文件名,並返回。
如果指定目錄下沒有文件,則該函數會返回 null。
你可以通過以下方式調用該函數:
$dir = '/path/to/files';
$filename = getRandomFileName($dir);
if ($filename !== null) {
echo $filename;
} else {
echo '指定目錄下沒有文件。';
}其中,/path/to/files 是要隨機選擇文件的目錄路徑。調用函數後,函數會隨機選擇一個文件並返回其文件名。如果指定目錄下沒有文件,則函數會返回 null。
二次需求
我想一次性返回多個文件名!
該函數接受兩個參數,分別是目錄路徑 $dir 和要獲取的文件數量 $num。如果目錄下沒有任何文件,則返回 null。如果文件數量不足 $num,則直接返回目錄下所有文件的文件名。
如果文件數量足夠,則從所有文件中隨機選擇 $num 個文件,然後將選中文件的文件名放入一個數組中返回。
你可以通過以下方式調用該函數:
$dir = '/path/to/directory';
$num = 3;
$fileNames = getRandomFileNames($dir, $num);
print_r($fileNames);其中,$dir 是目錄路徑,$num 是要獲取的文件數量。函數將返回一個包含隨機獲取的文件名的數組。