>  기사  >  백엔드 개발  >  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

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

// fix path:

$folder = trim($folder);

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

// check folder:

if (!is_dir($folder)){ die('invalid folder given!'); }

// create files array

$files = array();

// open directory

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

// go trough all files:

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

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

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

// feed the array:

$files[] = $file;

}

}

// close directory

closedir($dir);

}

else {

die('Could not open the folder "'.$folder.'"');

}

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

die('No files where found :-(');

}

// seed random function:

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

// get an random index:

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

// check again:

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

die('Array index was not found! very strange!');

}

// return the random file:

return $folder . $files[$rand];

}

 

//用法演示:

// "jpg|png|gif" matches all files with these extensions

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

// returns test_07.gif

// ".*" matches all extensions (all files)

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

// returns foobar_1.zip

// "[0-9]+" matches all extensions that just

// contain numbers (like backup.1, backup.2)

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

// returns backup.7

  希望本文所述对大家的php程序设计有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1009821.htmlTechArticlephp从文件夹随机读取文件的方法 本文实例讲述了php从文件夹随机读取文件的方法。分享给大家供大家参考。具体实现方法如下: ? 1 2 3 4...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.