mirror of https://github.com/helloxz/imgurl.git
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							164 lines
						
					
					
						
							4.5 KiB
						
					
					
				
			
		
		
	
	
							164 lines
						
					
					
						
							4.5 KiB
						
					
					
				| <?php | |
|     error_reporting(E_ALL^E_NOTICE^E_WARNING^E_DEPRECATED); | |
|     //获取真实IP | |
|     function get_ip() {  | |
|         if (getenv('HTTP_CLIENT_IP')) {  | |
|         $ip = getenv('HTTP_CLIENT_IP');  | |
|         }  | |
|         elseif (getenv('HTTP_X_FORWARDED_FOR')) {  | |
|         $ip = getenv('HTTP_X_FORWARDED_FOR');  | |
|         }  | |
|         elseif (getenv('HTTP_X_FORWARDED')) {  | |
|         $ip = getenv('HTTP_X_FORWARDED');  | |
|         }  | |
|         elseif (getenv('HTTP_FORWARDED_FOR')) {  | |
|         $ip = getenv('HTTP_FORWARDED_FOR');  | |
| 
 | |
|         }  | |
|         elseif (getenv('HTTP_FORWARDED')) {  | |
|         $ip = getenv('HTTP_FORWARDED');  | |
|         }  | |
|         else {  | |
|         $ip = $_SERVER['REMOTE_ADDR'];  | |
|         }  | |
|         return $ip;  | |
|     }  | |
|     //获取UA | |
|     function get_ua(){ | |
|         $ua = $_SERVER['HTTP_USER_AGENT']; | |
|         return $ua; | |
|     } | |
|     //创建token | |
|     function token($user,$pass){ | |
|         //token生成算法为:用户名 + md5后的密码 + ip + ua | |
|         $token = $user.$pass.get_ua(); | |
|         $token = md5($token); | |
|          | |
|         return $token; | |
|     } | |
|     //判断用户是否登录 | |
|     function is_login($user,$pass){ | |
|         $token = $user.$pass.get_ua(); | |
|         $token = md5($token); | |
| 
 | |
|         $username = $_COOKIE['user']; | |
|         $password = $_COOKIE['token']; | |
| 
 | |
|         //进行判断 | |
|         if(($user != $username) || ($password != $token)){ | |
|             echo '权限不足!'; | |
|             exit; | |
|         } | |
|         else{ | |
|             return true; | |
|         } | |
|     } | |
|     //判断文件MIME类型 | |
|     function mime($path){ | |
|         $mime = mime_content_type($path); | |
|         switch ( $mime ) | |
|         { | |
|             case 'image/gif': | |
|             case 'image/png': | |
|             case 'image/jpeg': | |
|             case 'image/bmp': | |
|             case 'image/x-ms-bmp': | |
|             case 'image/webp': | |
|             case 'image/svg+xml': | |
|                 return TRUE; | |
|                 break;		 | |
|             default: | |
|                 return FALSE; | |
|                 break; | |
|         } | |
|     } | |
|     //根据MIME类型返回文件后缀 | |
|     function ext($path){ | |
|         $mime = mime_content_type($path); | |
|         switch ( $mime ) | |
|         { | |
|             case 'image/gif': | |
|                 return '.gif'; | |
|                 break; | |
|             case 'image/png': | |
|                 return '.png'; | |
|                 break; | |
|             case 'image/jpeg': | |
|                 return '.jpg'; | |
|                 break; | |
|             case 'image/x-ms-bmp': | |
|                 return '.bmp'; | |
|                 break; | |
|             case 'image/webp': | |
|                 return '.webp'; | |
|                 break;	 | |
|             default: | |
|                 return FALSE; | |
|                 break; | |
|         } | |
|     } | |
|     //获取文件大小 | |
|     function file_size($path){ | |
|         //先判断文件是否存在 | |
|         if(!is_file($path)){ | |
|             $name = '0 byte'; | |
|         } | |
|         else{ | |
|             //继续执行 | |
|             $size = filesize($path); | |
|             //转换为KB | |
|             $size = $size / 1024; | |
|             $size = round($size,1); | |
|             $name = $size.' KB'; | |
|             //转换为Mb | |
|             if($size >= 1024){ | |
|                 $size = $size / 1024; | |
|                 $size = round($size,1); | |
|                 $name = $size.' MB'; | |
|             } | |
|              | |
|         } | |
|         return $name; | |
|     } | |
|     //缩略图函数 | |
|     function thumbnail($img){ | |
|         //返回路径 | |
|         $dir = dirname($img['path']); | |
|         $thumbnail_name = $dir.'/'.$img['imgid'].'_thumb'.$img['ext']; | |
| 
 | |
|          | |
|         //缩略图完整地址 | |
|         $fullpath = FCPATH.$thumbnail_name; | |
|         //echo $fullpath; | |
|         //判断缩略图是否存在 | |
|         if(is_file($fullpath)){ | |
|             return $thumbnail_name; | |
|         } | |
|         //$thumbnail_name = $dir.$name.'_thumb'; | |
|         //返回缩略图地址,不带文件名 | |
|         //返回原图 | |
|         else{ | |
|             return $img['path']; | |
|         } | |
|     } | |
|     //生成4位随机数,方法来自:https://blog.csdn.net/happy_jijiawei/article/details/50581094 | |
|     function GetRandStr($len)  | |
|     {  | |
|         $chars = array(  | |
|             "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",   | |
|             "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",   | |
|             "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",   | |
|             "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",   | |
|             "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",   | |
|             "3", "4", "5", "6", "7", "8", "9"  | |
|         );  | |
|         $charsLen = count($chars) - 1;  | |
|         shuffle($chars);    | |
|         $output = "";  | |
|         for ($i=0; $i<$len; $i++)  | |
|         {  | |
|             $output .= $chars[mt_rand(0, $charsLen)];  | |
|         }   | |
|         return $output;   | |
|     } | |
| ?>
 |