10个常用PHP代码片段总结

[url=http://www.kubiji.cn/forum-id260.html]PHP[/url]是一种[url=http://www.kubiji.cn/]HTML[/url]内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言。

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.完善[url=http://www.kubiji.cn/juhe_listing-idPHPCURL.html]cURL[/url]功能


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.检测[url=http://www.kubiji.cn/forum-id145.html]浏览器[/url]语言,只提供可用的$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=http://www.kubiji.cn/juhe_listing-idJieXiURL.html]URL[/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.终极[url=http://www.kubiji.cn/juhe_listing-idPHPJiaMi.html]加密[/url]功能


// 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 "<div class='tweet'>".$twitter->formatTweet($message)."<br />At: ".$time."</div>";
}
php_snippets:各种用途的小型独立 PHP 脚本的集合 php_snippets 这是什么 这是一个简单的存储库,用于保存用于各种目的的小型独立 PHP 脚本的集合。 内容 (按字母顺序) Arduino PHP 套接字 这是我设置的一个简单演示,用于演示如何通过 USB 连接在 PHP 和 Arduino 之间进行通信。 PHP 脚本只是在 Arduino 连接到的指定端口上每秒连续吐出一个字母“a”,然后 Arduino 读取串行缓冲区中的任何内容并将其存储到它构建的内部字符串中。 由于该示例由两种不同语言的两个脚本组成,我将它们都放入自己的目录 头部请求文件大小 仅获取远程文件的标题并输出文件大小。 实际上,可以读取 HTTP 响应标头中的值,文件大小是一个有用的示例。 持久风格切换器 此脚本的目的是让您的网站使用多个 CSS 文件,让用户可以选择最适合他们的一个。 该脚本从$_COOKIE或$_GET数组(后者优先)读取,并查 立即下载

相关推荐

汇川AM系列PLC玩转CNC:手把手教你用File模式读取G代码文件(附避坑指南)

本文详细介绍了如何使用汇川AM系列PLC的File模式读取G代码文件,涵盖从CAD设计到PLC配置的全流程。特别针对路径格式、文件类型等常见问题提供避坑指南,帮助工程师快速实现CNC加工的自动化控制。

weixin_33582311的博客 401

直接拿来用,10个PHP代码片段

PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言。PHP拥有数以百计的基本功能,支持上千种扩展。这些功能都被很好的加载在PHP站点上,但内置的库有各种各样的命名。在PHP代码库中包含了无数个有用的PHP代码片段,每位开发者都需要不断完善自己的“工具箱”。有了这些代码片段可以为你节省大量的时间,一起来看下。 1.查找Longitudes与Latit

超级方的专栏 734

《数据结构》知识点汇总+算法代码总结【全】

写在前面:本文写于吴签时期,在家备考时刷完数据结构王道书之后想着把书中重点梳理汇总一下。本文内容包括但不局限于王道数据结构每章的知识点及其课后习题所涵盖的知识点。本人曾在大三期间打过一些程序设计类比赛,所以本文所涉及到的代码不一定局限于王道书,但思想都一样。 期末复习和备考408均可使用第一章:绪论(不在考研大纲但很重要)第二章:线性表第三章:栈和队列第四章:串第五章:树与二叉树第六章:图第七章:查找 第一章:绪论(不在考研大纲但很重要) 数据结构三要素:逻辑结构、存储结构、数据的运算;其中逻辑结构包括线

qq_44622401的博客 17万+

snips数据集_PHP图表库pChart-V2的使用笔记

分类:标签:最近想使用PHP绘制pChart还不错,目前它的版本已经更新到V2了,与原来V1的使用方法有许多调整,因此在网上搜索到的其它一些文章描述的多是V1时候的了,使用过程中遇到的一些小问题,将直觉的解决方案笔记如下。1. pChart图表的路径问题。这个放置到正确的目录下面即可。2. pChart如何输出中文。首先是需要使用合适的字体,$myPicture->setFontProper...

weixin_39626409的博客 307

从HPPC测试到Simulink仿真:锂电池二阶RC模型参数辨识完整流程

本文详细介绍了从HPPC测试到Simulink仿真的锂电池二阶RC模型参数辨识完整流程。通过HPPC测试获取实验数据,利用Simulink的Parameter Estimation工具进行参数辨识和模型验证,为BMS算法开发提供精确的电池模型。文章涵盖测试设计、数据预处理、模型搭建及工程应用等关键步骤,助力新能源电池研发。

whisky的博客 683

逆向工程实战:解密AppleAccount的X-MMe-Nas-Qualify签名生成机制

本文通过逆向工程实战,详细解析了AppleAccount服务中X-MMe-Nas-Qualify签名的生成机制。作者利用Frida进行动态追踪定位签名源头,结合IDA Pro进行静态分析,并借助LLDB动态调试还原核心算法。文章最终分享了如何独立于苹果官方库,通过Python代码复现签名算法,为自动化测试和深度交互苹果服务的开发者提供了关键技术路径。

weixin_29323049的博客 706

php编程神器,PHP代码神器 十个PHP代码片段超极好用

PHP开发中敲代码是最能磨练人意志的,面对枯燥的代码有些人感兴趣,然而有些人不耐烦,面对如此多的代码总想着可以复制粘贴,以提高效率。PHP代码有这种功能,今天小编给大家推荐一些PHP代码神器,十个超极好的用的PHP代码片段信手拈来,直接拿去用吧!列举十个PHP代码片段,超强神器!1、完善cURL功能function xcurl($url,$ref=null,$post=array(),$ua="M...

weixin_39972567的博客 333

单片机如何获得5V电源

在单片机实际设计中,有时会需要在电路中用到5V电压源,那么这个常见的实验需求有哪些办法解决呢,我综合网上的资料,概括一下: 1)USB    这种方法在我们直接将单片机板与电脑连接调试的时候,算是简单又方便的办法了,但如果我所要得到的成品不直接连接外部的器件,这就得舍弃。     常用的,USB/5V插头线,这是一种专门的电源线,一端是USB通用接口,可以直插USB端口,另一端是内正外负电压

Echo_Ana的博客 3万+

10个web代码资源网站

很多开发者都有过网站开发的经历,大家使用CSS、HTML以及JavaScript等技术来完成这一工作。但想必大家也知道,网站开发是一个很耗费时间的工作。你可能需要花费大量的时间在一些网站上寻找解决问题的代码段。这的确很耗费时间,但却几乎又是不可或缺的一环。 基于此,本文为各位开发者收集了13个提供代码示例的网站。在这里,你可以找到关于常用技术(甚至包括WordPress)的优秀代码。除此之外,这些...

marlay@126.com 3606

【ROS】ROS2导航Nav2:简介、安装、测试效果、错误处理

在ROS2中自动导航使用Nav2来实现。Nav2 使用几个独立的模块化服务,通过 ROS 2接口(例如动作服务器或服务)与行为树 (BT) 通信。Nav2 输入包括:TF转换、一个地图源、一个行为树 (BT) XML 文件和相关的传感器数据源;Nav2 输出速度命令;Nav2 支持多种机器人,比如:四足机器人、履带机器人、轮式机器人等。

郭老二 5078

k230+CanMV+micropython环境下byte、int、hex、string之间的转换常用函数实测

【代码】k230+CanMV+micropython环境下byte、int、hex、string之间的转换常用函数实测。

weixin_47446386的博客 119

10个典型实用的PHP代码片段

转载地址:http://www.codeceo.com/article/10-useful-php-code.html 本文将介绍10个经常会用到的PHP代码片段,包括黑名单过滤、随机颜色生成器、从网上下载文件、Alexa/Google Page Rank、强制下载文件、用Email显示用户的Gravator头像、用cURL获取RSS订阅数、截取图片、检查网站是否宕机。 一、黑名单过滤

依宸2016 719

带有HSE组件的S32系列芯片中各子系统如何依次启动?

仔细阐述了上电后各个子系统的启动顺序,并给出了详细的启动步骤流程图。

车载系统攻城狮 1700

推荐10个非常实用的PHP代码片段

当使用PHP进行开发的时候,如果你自己收藏 了一些非常有用的方法或者代码片段,那么将会给你的开发工作带来极大的便利。今天我们将介绍10个超级好用的PHP代码片段,希望大家能够喜欢! 1.  使用textmagic API发送消息 可能有的时候,你需要发送一些短信给你的客户,那么你绝对应该看看textMagic。它提供了非常简单的API来实现这个功能。但是不是免费的。 PHP代码  //

37度2 1605

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

PHP常用代码片段

整理一份代码片段列表,涵盖了大部分经常用到的函数,都是近期在实际工作中用到的,做个记录。

山水云的博客 634

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

分享10个你可能不知道但超级好用的 PHP 代码片段

当我们使用PHP的时候,如果你自己有些非常有用的方法或者代码片段,那么将会给你带来极大的便利。今天我们将介绍10个超级好用的PHP代码片段,希望大家能够喜欢! 使用textmagic API来发送消息 可能有的时候,你需要发送一些短信到你客户手机上,你绝对应该看看tex...

chenping0895的博客 249

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

php代码整理,php中常用字符串处理代码片段整理

php中常用字符串处理代码片段,使用php的朋友可以参考下。移除 HTML 标签$text = strip_tags($input, "");上面的函数主要是使用了strip_tags,具体的使用说明参考。返回 $start 和 $end 之间的文本function GetBetween($content,$start,$end){$r = explode($start, $content);if...

weixin_32312889的博客 130

10个好用的PHP代码片段

当我们使用PHP的时候,如果你自己有些非常有用的方法或者代码片段,那么将会给你带来极大的便利。今天我们将介绍10个超级好用的PHP代码片段,希望大家能够喜欢! 使用textmagic API来发送消息可能有的时候,你需要发送一些短信到你客户手机上,你绝对应该看看textMagic。他们提供非常简单的API来实现这个功能。但是不是免费的哦。 // Include the TextMagic PH

imsuperman1015的专栏 729

PHP46 个非常有用的代码片段

在编写代码的时候有个神奇的工具总是好的!下面这里收集了 40+ PHP 代码片段,可以帮助你开发 PHP 项目。 这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧~ 1. 发送 SMS 在开发 Web 或者移动应用的时候,经常会遇到需要发送 SMS 给用户,或者因为登录原因,或者是为了发送信息。下面的 PHP 代码就实现了发送 SMS 的功能。 为了使用任......

Jack huang 的技术笔记 1072

经典php代码,10个非常经典的php代码片段.doc

10个非常经典的php代码片段.doc还剩8页未读,继续阅读下载文档到电脑,马上远离加班熬夜!亲,喜欢就下载吧,价低环保!内容要点:27. set_error_handler('nettuts_error_handler'); 28. 29. // Trigger an error... (var doesn't exist) 30. echo $somevarthatdoesnotexi...

weixin_35490309的博客 333

php常用代码片段

闲来无事,不断更新中…… 1.检测用户位置 使用下面的函数,可以检测用户是在哪个城市访问你的网站 function detect_city($ip) { $default = 'UNKNOWN'; $curlopt_useragent = 'Mozilla/5.0 (Windows; U; W...

YuanZhea的博客 1021

10 个救命的 PHP代码片段

关键词高亮 function highlight($sString, $aWords) { if (!is_array ($aWords) || emptyempty ($aWords) || !is_string ($sString)) {

麥希穆斯 749
上一篇: 10个JavaScript小技巧
下一篇: 10个常用PHP代码片段总结
酷笔记
博客等级 码龄15年 8粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值