千家信息网

分享有用的PHP代码片段

发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,这篇文章主要介绍"分享有用的PHP代码片段",在日常操作中,相信很多人在分享有用的PHP代码片段问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"分享有用的PHP代码片段"
千家信息网最后更新 2025年01月28日分享有用的PHP代码片段

这篇文章主要介绍"分享有用的PHP代码片段",在日常操作中,相信很多人在分享有用的PHP代码片段问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"分享有用的PHP代码片段"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.查找Longitudes与Latitudes之间的距离

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) {  $theta = $longitude1 - $longitude2;  $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));  $miles = acos($miles);  $miles = rad2deg($miles);  $miles = $miles * 60 * 1.1515;  $feet = $miles * 5280;  $yards = $feet / 3;  $kilometers = $miles * 1.609344;  $meters = $kilometers * 1000;  return compact('miles','feet','yards','kilometers','meters'); }  $point1 = array('lat' => 40.770623, 'long' => -73.964367); $point2 = array('lat' => 40.758224, 'long' => -73.917404); $distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']); foreach ($distance as $unit => $value) {  echo $unit.': '.number_format($value,4).' '; }  The example returns the following:  miles: 2.6025 feet: 13,741.4350 yards: 4,580.4783 kilometers: 4.1884 meters: 4,188.3894

2.完善cURL功能

function xcurl($url,$ref=null,$post=array(),$ua="Mozilla/5.0 (X11; Linux x86_64; rv:2.2a1pre) Gecko/20110324 Firefox/4.2a1pre",$print=false) {  $ch = curl_init();  curl_setopt($ch, CURLOPT_AUTOREFERER, true);  if(!empty($ref)) {  curl_setopt($ch, CURLOPT_REFERER, $ref);  }  curl_setopt($ch, CURLOPT_URL, $url);  curl_setopt($ch, CURLOPT_HEADER, 0);  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  if(!empty($ua)) {  curl_setopt($ch, CURLOPT_USERAGENT, $ua);  }  if(count($post) > 0){  curl_setopt($ch, CURLOPT_POST, 1);  curl_setopt($ch, CURLOPT_POSTFIELDS, $post);  }  $output = curl_exec($ch);  curl_close($ch);  if($print) {  print($output);  } else {  return $output;  } }

3.清理用户输入

]*?>.*?@si', // Strip out javascript  '@<[\/\!]*?[^<>]*?>@si',  // Strip out HTML tags  '@]*?>.*?@siU', // Strip style tags properly  '@@'  // Strip multi-line comments  );   $output = preg_replace($search, '', $input);  return $output;  } ?> $val) {   $output[$var] = sanitize($val);  }  }  else {  if (get_magic_quotes_gpc()) {   $input = stripslashes($input);  }  $input = cleanInput($input);  $output = mysql_real_escape_string($input);  }  return $output; } ?>

4.通过IP(城市、国家)检测地理位置

function detect_city($ip) {   $default = 'Hollywood, CA';   if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0.0.1' || $ip == 'localhost')  $ip = '8.8.8.8';  $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; } }

5.设置密码强度

 100){  $strength = 100;  }  return $strength; }  var_dump(password_strength("Correct Horse Battery Staple")); echo " "; var_dump(password_strength("Super Monkey Ball")); echo " "; var_dump(password_strength("Tr0ub4dor&3")); echo " "; var_dump(password_strength("abc123")); echo " "; var_dump(password_strength("sweet"));

6.检测浏览器语言,只提供可用的$availableLanguages作为数组('en', 'de', 'es')

function get_client_language($availableLanguages, $default='en'){   if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {    $langs=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);   //start going through each one  foreach ($langs as $value){    $choice=substr($value,0,2);   if(in_array($choice, $availableLanguages)){   return $choice;      }    }  }  return $default; }

7.创建数据URL

function data_uri($file, $mime) {  $contents=file_get_contents($file);  $base64=base64_encode($contents);  echo _"data:$mime;base64,$base64"; }

8.创建更加友好的页面标题SEO URL

输入示例:$title = "This foo's bar is rockin' cool!"; echo makeseoname($title); //RETURNS: //this-foos-bar-is-rockin-cool

function make_seo_name($title) {  return preg_replace('/[^a-z0-9_-]/i', '', strtolower(str_replace(' ', '-', trim($title)))); }

9.终极加密功能

// f(ucking) u(ncrackable) e(ncryption) function by BlackHatDBL (www.netforme.net) function fue($hash,$times) {  // Execute the encryption(s) as many times as the user wants  for($i=$times;$i>0;$i--) {  // Encode with base64...  $hash=base64_encode($hash);  // and md5...  $hash=md5($hash);  // sha1...  $hash=sha1($hash);  // sha256... (one more)  $hash=hash("sha256", $hash);  // sha512  $hash=hash("sha512", $hash);   }  // Finaly, when done, return the value  return $hash; }

10a.Tweeter Feed Runner--使用任意twitter名,可在任意页面上加载用户资源。

pversion;  }  public function loadTimeline($user, $max = 20){  $this->twitURL .= 'statuses/user_timeline.xml?screen_name='.$user.'&count='.$max;  $ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $this->twitURL);  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  $this->xml = curl_exec($ch);  return $this;  }  public function getTweets(){  $this->twitterArr = $this->getTimelineArray();  $tweets = array();  foreach($this->twitterArr->status as $status){   $tweets[$status->created_at->__toString()] = $status->text->__toString();  }  return $tweets;  }  public function getTimelineArray(){  return simplexml_load_string($this->xml);  }  public function formatTweet($tweet){  $tweet = preg_replace("/(http(.+?))( |$)/","$1$3", $tweet);  $tweet = preg_replace("/#(.+?)(\h|\W|$)/", "#$1$2", $tweet);  $tweet = preg_replace("/@(.+?)(\h|\W|$)/", "@$1$2", $tweet);  return $tweet;  } }

10b. Tweeter Feed Runner--用于在主题中创建文件,比如:example.php

loadTimeline("phpsnips")->getTweets(); foreach($feed as $time => $message){  echo "
".$twitter->formatTweet($message)."
At: ".$time."
"; }

到此,关于"分享有用的PHP代码片段"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

代码 有用 片段 学习 功能 更多 用户 页面 帮助 检测 输入 实用 接下来 主题 之间 位置 可在 国家 地理 地理位置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 东乡公安局网络安全 proe的服务器管理 服务器镜像端口查看 网络技术挑战赛优秀作品 德温特数据库中的气候变化专利 数据库连接在上下文被关闭 堡垒机监控 服务器操作 数据库的数据结构描述 长春多媒体安全文化展厅软件开发 我的世界服务器代码怎么打 软件开发工程师就业工资 维普本科都引用的数据库 做软件开发读哪个大学好 网络安全教育平台作业 计算机网络技术与应用李春燕 数据库技术及应用02120 怎么和服务器建立安全连接 在线浪潮服务器 嵌入式开发程序软件开发工具 存放商务数据的数据库管理系统是 无锡网络营销软件开发诚信合作 net软件开发学习 人口数据库查询哪个网站全 GEO数据库开放吗 网络安全微课题目 数据库表转换成word表 互联网科技平台必去汇承 海军网络安全教育视频 网络安全培训课件百度云 计算机软件开发技术标准
0