您的位置:首页 > 其它

常用公共函数库(验证mac地址、判断ip所属网段、创建文件夹、读取文件、获取移动客户端类型等)

2014-06-25 10:57 543 查看
<?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;
}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐