ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルでフォルダーからランダムなファイルを読み取る方法

php_PHP チュートリアルでフォルダーからランダムなファイルを読み取る方法

WBOY
WBOYオリジナル
2016-07-13 09:52:09873ブラウズ

phpでフォルダーからファイルをランダムに読み取る方法

この記事では、phpでフォルダーからファイルをランダムに読み取る方法について説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

関数 RandomFile($folder='', $extensions='.*'){

//パスを修正:

$folder = トリム($folder);

$folder = ($folder == '') './' : $folder;

//フォルダーをチェック:

if (!is_dir($folder)){ die('指定されたフォルダーが無効です!' }

//ファイル配列を作成する

$files = array();

//ディレクトリを開く

if ($dir = @opendir($folder)){

// すべてのファイルを調べます:

while($file = readdir($dir)){

if (!preg_match('/^.+$/', $file) と

preg_match('/.('.$extensions.')$/', $file)){

// 配列にフィードします:

$files[] = $file;

}

}

// ディレクトリを閉じる

closedir($dir);

}

その他 {

die('フォルダー「'.$folder.'」を開けませんでした。');

}

if (count($files) == 0){

die('ファイルが見つかりません:-(');

}

// シードランダム関数:

mt_srand((double)microtime()*1000000);

//ランダムなインデックスを取得します:

$rand = mt_rand(0, count($files)-1);

//もう一度確認してください:

if (!isset($files[$rand])){

die('配列インデックスが見つかりません! 非常に奇妙です!');

}

// ランダムなファイルを返します:

$folder を返します [$rand];

}

//使用デモ:

// "jpg|png|gif" は、これらの拡張子を持つすべてのファイルに一致します

print RandomFile('test_images/','jpg|png|gif');

// test_07.gif を返します

// 「.*」はすべての拡張子 (すべてのファイル) に一致します

print RandomFile('test_files/','.*');

// foobar_1.zipを返します

// "[0-9]+" は、

に該当するすべての拡張子に一致します

// 数字が含まれます (backup.1、backup.2 など)

print RandomFile('test_files/','[0-9]+');

//backup.7を返します

この記事が皆様の PHP プログラミング設計に役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1009821.html技術記事 php でフォルダーからファイルをランダムに読み取る方法 この記事では、php でフォルダーからファイルをランダムに読み取る方法について説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです: ? 1 2 3 4...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。