首页 > 开发 > PHP > 正文

php从文件夹随机读取文件的方法

2024-05-04 22:36:51
字体:
来源:转载
供稿:网友

本文实例讲述了php从文件夹随机读取文件的方法。分享给大家供大家参考。具体实现方法如下:

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 extensionsprint 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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表