<?php /** * home模块公共库文件 * 主要定义公共函数库 */ /** * [mac_valid description] * @param [type] $mac [description] * @return [type] [description] */ function mac_valid($mac){ if(preg_match("/^[A-F0-9]{2}:[A-F0-9]{2}:[A-F0-9]{2}:[A-F0-9]{2}:[A-F0-9]{2}:[A-F0-9]{2}$/i", $mac)){ return true; }else{ return false; } } function get_device_type(){ $agent = strtolower($_SERVER['HTTP_USER_AGENT']); $type = 'other'; if(strpos($agent, 'iphone') || strpos($agent, 'ipad')){ $type = 'ios'; } if(strpos($agent, 'android')){ $type = 'android'; } return $type; } /** * 保存文件 * * @param string $fileName 文件名(含相对路径) * @param string $text 文件内容 * @return boolean */ function saveFile($fileName, $text) { if (!$fileName || !$text) return false; if (makeDir(dirname($fileName))) { if ($fp = fopen($fileName, "w")) { if (@fwrite($fp, $text)) { fclose($fp); return true; } else { fclose($fp); return false; } } } return false; } /** * 连续创建目录 * * @param string $dir 目录字符串 * @param int $mode 权限数字 * @return boolean */ function makeDir($dir, $mode = "0777") { if (!dir) return false; if(!file_exists($dir)) { return mkdir($dir,$mode,true); } else { return true; } } function my_scandir($dir) { $files = array(); if ( $handle = opendir($dir) ) { while ( ($file = readdir($handle)) !== false ) { if ( $file != ".." && $file != "." ) { if ( is_dir($dir . "/" . $file) ) { $files[$file] = my_scandir($dir . "/" . $file); } else { $files[] = $file; } } } closedir($handle); return $files; } } function my_scandir1($dir) { $files = array(); $dir_list = scandir($dir); foreach($dir_list as $file) { if ( $file != ".." && $file != "." ) { if ( is_dir($dir . "/" . $file) ) { $files[$file] = my_scandir1($dir . "/" . $file); } else { $files[] = $file; } } } return $files; } /** * 获取上传目录文件 * @param [type] $dir [description] * @param [type] $url [description] * @return [type] [description] */ function get_update_dir_file($dir,$url){ $dh = @opendir($dir); //打开目录,返回一个目录流 $return = array(); while($file = @readdir($dh)){ //循环读取目录下的文件 if($file!='.' and $file!='..'){ $path = $dir.'/'.$file; //设置目录,用于含有子目录的情况 if(is_dir($path)){ }elseif(is_file($path)){ $filesize[] = round((filesize($path)/1024),2);//获取文件大小 $filename[] = $path;//获取文件名称 $filetime[] = date("Y-m-d H:i:s",filemtime($path));//获取文件最近修改日期 $return[] = $url.'/'.$file; } } } @closedir($dh); //关闭目录流 //array_multisort($filesize,SORT_DESC,SORT_NUMERIC, $return);//按大小排序 //array_multisort($filename,SORT_DESC,SORT_STRING, $return);//按名字排序 array_multisort($filetime,SORT_DESC,SORT_STRING, $return);//按时间排序 return $return; //返回文件 } /** * 获取软件版本号 * @param [type] $filename [description] * @return [type] [description] */ function get_version_num ($filename){ $script_name = basename($filename); $version_name = explode('_', $script_name)[1]; $last_pos = strrpos($version_name,'.'); $version = substr($version_name, 0, $last_pos); return $version; } ?>