<?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;
}
?>
常用公共函数库(验证mac地址、判断ip所属网段、创建文件夹、读取文件、获取移动客户端类型等)
最新推荐文章于 2022-10-12 21:30:07 发布