防SQL注入function clean($input)
{if (is_array($input))
{foreach ($input as $key => $val)
{$output[$key] = clean($val);
}
}else{$output = (string) $input;if (get_magic_quotes_gpc())
{$output = stripslashes($output);
}$output = htmlentities($output, ENT_QUOTES, ‘UTF-8‘);
}return $output;
}
根据IP确定用户地理位置function detect_city($ip) {$default = ‘UNKNOWN‘;$curlopt_useragent = ‘Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)‘;$url = ‘http://ipinfodb.com/ip_locator.php?ip=‘ . urlencode($ip);$ch =curl_init();$curl_opt = array(
CURLOPT_FOLLOWLOCATION=> 1,CURLOPT_HEADER=> 0,CURLOPT_RETURNTRANSFER=> 1,CURLOPT_USERAGENT=> $curlopt_useragent,CURLOPT_URL=> $url,CURLOPT_TIMEOUT=> 1,CURLOPT_REFERER=> ‘http://‘ . $_SERVER[‘HTTP_HOST‘],);
curl_setopt_array($ch, $curl_opt);$content = curl_exec($ch);if (!is_null($curl_info)) {$curl_info = curl_getinfo($ch);
}
curl_close($ch);if ( preg_match(‘{
City : ([^}i‘, $content, $regs) ) {$city = $regs[1];}if ( preg_match(‘{
State/Province : ([^}i‘, $content, $regs) ) {$state = $regs[1];}if( $city!=‘‘ && $state!=‘‘){$location = $city . ‘, ‘ . $state;return $location;
}else{return $default;
}
}
确定任意图片的主导颜色function dominant_color($image)
{$i = imagecreatefromjpeg($image);for ($x=0;$x> 16) & 0xFF;$g = ($rgb >> & 0xFF;$b = $rgb & 0xFF;$rTotal += $r;$gTotal += $g;$bTotal += $b;$total++;
}
}$rAverage = round($rTotal/$total);$gAverage = round($gTotal/$total);$bAverage = round($bTotal/$total);return ["r"=>$rAverage,"g"=>$gAverage,"b"=>$bAverage];
}
强制下载文件function force_download($file)
{$dir = "../log/exports/";if ((isset($file))&&(file_exists($dir.$file))) {header("Content-type: application/force-download");header(‘Content-Disposition: inline; filename="‘ . $dir.$file . ‘"‘);header("Content-Transfer-Encoding: Binary");header("Content-length: ".filesize($dir.$file));header(‘Content-Type: application/octet-stream‘);header(‘Content-Disposition: attachment; filename="‘ . $file . ‘"‘);readfile("$dir$file");
}else{echo "No file selected";
}
}
解压图片function unzip($location,$newLocation)
{if(exec("unzip $location",$arr)){mkdir($newLocation);for($i = 1;$i< count($arr);$i++){$file = trim(preg_replace("~inflating: ~","",$arr[$i]));copy($location.‘/‘.$file,$newLocation.‘/‘.$file);unlink($location.‘/‘.$file);
}return TRUE;
}else{return FALSE;
}
}
缩放图片function resize_image($filename, $tmpname, $xmax, $ymax)
{$ext = explode(".", $filename);$ext = $ext[count($ext)-1];if($ext == "jpg" || $ext == "jpeg")$im = imagecreatefromjpeg($tmpname);elseif($ext == "png")$im = imagecreatefrompng($tmpname);elseif($ext == "gif")$im = imagecreatefromgif($tmpname);$x = imagesx($im);$y = imagesy($im);if($x <= $xmax && $y <= $ymax)return $im;if($x >= $y) {$newx = $xmax;$newy = $newx * $y / $x;
}else{$newy = $ymax;$newx = $x / $y * $newy;
}$im2 = imagecreatetruecolor($newx, $newy);
imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);return $im2;
}
检测用户浏览器语言function get_client_language($availableLanguages, $default=‘en‘){if (isset($_SERVER[‘HTTP_ACCEPT_LANGUAGE‘])) {$langs=explode(‘,‘,$_SERVER[‘HTTP_ACCEPT_LANGUAGE‘]);foreach ($langs as $value){$choice=substr($value,0,2);if(in_array($choice, $availableLanguages)){return $choice;
}
}
}return $default;
}