Php Method for randomly reading files from folders,
This example describes how php randomly reads files from folders. Share it with you for your reference. The specific implementation method is as follows:
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];} // usage Demonstration: // "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
I hope this article will help you with php programming.