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


Posted in PHP onJune 01, 2015

本文实例讲述了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 相关文章推荐
开发大型 PHP 项目的方法
Jan 02 PHP
php 从数据库提取二进制图片的处理代码
Sep 09 PHP
php 冒泡排序 交换排序法
May 10 PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
Jan 16 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
PHP嵌套输出缓冲代码实例
May 12 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
php表单处理操作
Nov 16 PHP
Laravel5.1 框架路由基础详解
Jan 04 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
Jan 26 PHP
Yii 实现数据加密和解密
Mar 09 PHP
php计算整个目录大小的方法
Jun 01 #PHP
php获取系统变量方法小结
May 29 #PHP
typecho插件编写教程(六):调用接口
May 28 #PHP
PHP cURL初始化和执行方法入门级代码
May 28 #PHP
php支持中文字符串分割的函数
May 28 #PHP
typecho插件编写教程(五):核心代码
May 28 #PHP
php实现paypal 授权登录
May 28 #PHP
You might like
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
checkbox 复选框不能为空
2009/07/11 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
2013/10/11 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
javascript实现下雪效果【实例代码】
2016/05/03 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
在Python的循环体中使用else语句的方法
2015/03/30 Python
python 中的int()函数怎么用
2017/10/17 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
如何在python中实现随机选择
2019/11/02 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
澳大利亚足球鞋和服装购物网站:Ultra Football
2018/10/11 全球购物
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
学期自我鉴定范文
2013/10/01 职场文书
电子银行营销方案
2014/02/22 职场文书
高考寄语大全
2014/04/08 职场文书
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
python not运算符的实例用法
2021/06/30 Python
Springboot中如何自动转JSON输出
2022/06/16 Java/Android