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

本文实例讲述了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 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程序设计有所帮助。

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

郑重声明:本网站发布的内容(图片、视频和文字)以及用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服

发表评论

登录后才能评论