10个经常用的php片段

Web开发者必备的10个实用的PHP代码片段 作为一名Web开发者,掌握一些实用的PHP代码片段可以大大提高开发效率和代码质量。在本篇文章中,我将分享给大家10个必备的PHP代码片段,涵盖了前端开发中的常见需求。 阅读详情
1.查找Longitudes与Latitudes之间的距离
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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功能
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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.清理用户输入
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
]*?>.*?@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(城市、国家)检测地理位置
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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.设置密码强度
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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’)
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
 
1
2
3
4
5
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
 
1
2
3
function  make_seo_name($title) {
     return  preg_replace( '/[^a-z0-9_-]/i' ,  '' , strtolower(str_replace( ' ' ,  '-' , trim($title))));
}



9.终极加密功能
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 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名,可在任意页面上加载用户资源。
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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
 
1
2
3
4
loadTimeline( "phpsnips" )->getTweets();
foreach($feed as $time => $message){
     echo  "<div class='tweet'>" .$twitter->formatTweet($message). "<br />At: " .$time. "</div>" ;
}
Trae的付费之路还挺艰难,茫茫多的人想付付不了(附解决办法) 不得不说,Trae国际版这个付费其实整的挺复杂的,但没办法,毕竟有政策限制,付费成功后,你就是尊贵的Pro用户啦,使用Claude 4不排队还是挺爽的,而且600次其实不算少了,有一个小技巧,简单的问题就把模型切到Gemini-2.5-flag,因为使用这个模型是没有次数限制的。其次付费的时候有个ZIP Code,这东西也是个迷之存在,有的地区节点需要填,有的不需要,如果你选到了不需要填的节点,那很好,付费就行了,如果需要填,可以填一个51800试试。 阅读详情

相关推荐

NFS服务器配置与autofs自动挂载

NFS服务器配置autofs自动挂载 环境: hostname ip OS server 192.168.220.138 centos7 client 192.168.220.139 centos7 一、NFS概述 NFS(Network File System)网络文件系统。最大功能就是通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 二、端口 [root@se...

DoloresOOO的博客 1026

7个超级实用的PHP代码片段

1、超级简单的页面缓存 如果你的工程项目不是基于 CMS 系统或框架,打造一个简单的缓存系统将会非常实在。下面的代码很简单,但是对小网站而言能切切实实解决问题。     // define the path and name of cached file      $cach

Hsn_lin的专栏 564

永磁同步电机自抗扰控制ADRC(位置环/速度环控制器)Matlab/Simulink仿真(S-Function)

ESO是ADRC的核心,其作用是跟踪被控对象的输出,同时给出受控对象的各阶状态变量以及系统总扰动的实时估计,将其补偿到控制器中,实现动态补偿线性化。NLSEF采用非线性函数把TD产生的跟踪及微分信号与ESO给出的状态变量估计值之间的误差进行非线性组合得到初级控制量,然后同总扰动的补偿量一起生成最终的控制信号。自抗扰控制(ADRC)技术的核心思想是将简单的积分串联型视为标准模型,把系统模型中不同于标准型的部分和外部干扰之和视为总扰动,并将其扩张为一个新的状态。看作系统内外部扰动之和。令一个高阶状态变量为。

m0_66341377的博客 7613

php大文件分片断点续传,视频上传Webuploader,php上传大视频文件

php大文件视频上传Webuploader,php上传大视频文件,分片断点续传

qq_37645384的博客 534

集成电路设计学习笔记(二)基于IC617反相器设计之原理图绘制

博主的博客网站 欢迎大家访问! ccbirds.cn ccbirds.github.io 本文主要记录在IC617中原理图的绘制和schematic的使用方法。 新建library 要画设计自己的集成电路,需要建一个自己的库,方便对自己设计文件的管理。 打开library manager,file 下NEW下Library 选择库的保存路径,一般默认即可,并在name中填入自己库的名字。...

ccbirds 7371

MoveIt2项目想换掉KDL求解器?试试这个trac_ik插件(附源码编译避坑指南)

本文详细介绍了如何在MoveIt2项目中用trac_ik插件替代KDL求解器,提升机械臂运动学求解的效率和成功率。内容涵盖环境准备、源码编译避坑、项目集成及性能调优,特别适合需要高精度控制的协作机械臂应用场景。通过实测数据对比,trac_ik在求解时间和奇异点处理上显著优于传统KDL求解器。

weixin_30730053的博客 691

php按序提取HTML代码片段中的文字与图片路径

提取百度编辑器内容或HTML代码片段中的文字与图片路径。

kirsten_z的博客 591

【免费】最新区块链钱包和私钥的助记词碰撞器,使用python开发

最新钱包私钥助记词碰撞器,搏一搏单车变摩托!

weixin_48529185的博客 1万+

一个php程序的关键代码,9个比较实用的php代码片段

比较有用的php代码片段,分享给大家供大家参考,具体代码如下一、从网页中提取关键词$meta = get_meta_tags('http://www.emoticode.net/');$keywords = $meta['keywords'];// Split keywords$keywords = explode(',', $keywords );// Trim them$keywords = ...

weixin_32445333的博客 254

《谷歌数据分析方法》脑图笔记

目录壹、脑图笔记贰、《谷歌数据分析方法》脑图文稿[^1]一、 反思数据分析二、选择数据分析工具的最佳策略第一步:选择数据分析工具前要回答的3个关键问题第二步:选择数据分析工具前要问供应商的10个问题第三步:如何有效地试用数据分析工具第四步:确定合作前的协议,检查供应商的服务条款三、点击流分析的精彩世界:指标8个关键网站指标数据分析指标揭秘关键网站指标的战略性策略四、成功的关键:衡量绩效关注“少数关键指标”衡量非电子商务网站的成功衡量B2B网站五、调研和测试永不过时的3个最佳调研问题选择线上调研供应商的8个建

积跬步,慕至千里的博客 2925

innovus获取mem pin shape box脚本

innovus mem 的pin shae只能通过attitude editor看属性获取其pin shape的box,但是想用脚本处理一定box时,没有别的办法能直接获取box属性。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1108

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

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

37度2 1605

【异常】Cursor 编辑器 “Too many computers“ 报错排查与完整解决方案

该报错通常在启动Cursor、调用AI对话/代码补全核心功能时触发,会直接阻断编辑器AI能力的正常使用。

奶爸的编程之路,也就一周冷个三天 453

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

转载地址:http://www.codeceo.com/article/10-useful-php-code.html 本文将介绍10个经常会用到的PHP代码片段,包括黑名单过滤、随机颜色生成器、从网上下载文件、Alexa/Google Page Rank、强制下载文件、用Email显示用...

112

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

10个好用的PHP代码片段

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

imsuperman1015的专栏 729

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

10个超级有用的PHP代码小片段

能够利用好的代码片段来进行设计,将极大的缩短设计的时间。今天,这里有10个真的很棒的PHP代码小片段,我希望能够在今后的设计中帮助到你们。 超级简单的页面缓存 当你的项目不是基于CMS或者框架的话,给你的页面添加缓存是一个很棒的主意。下面的代码非常简单,但是对于小网站运行得很好。     // define the path and name of cached file    $c

精彩人生 493

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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

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

chenping0895的博客 249

10个PHP代码片段

http://www.youkuaiyun.com/article/2013-07-23/2816316-10-php-snippets-for-developers 直接拿来用,10个PHP代码片段 发表于4小时前| 846次阅读| 来源优快云| 4 条评论| 作者夏梦竹 PHP编程前端开发 摘要:PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HT

东名夜雨 的专栏 965

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

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

王继超的专栏 855

10 个救命的 PHP代码片段

10 个救命的 PHP代码片段 关键词高亮 function highlight($sString, $aWords) { if (!is_array ($aWords) || emptyempty ($aWords) || !is_s...

weixin_30530523的博客 96

10个常用PHP代码片段总结

[url=http://www.kubiji.cn/forum-id260.html]PHP[/url]是一种[url=http://www.kubiji.cn/]HTML[/url]内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言。 PHP拥有数以百计的基本功能,支持上千种扩展。这些功能都被很好的加载在PHP站点上,但内置的库有各种各样的命名。 在PHP代码库中包含了无...

SCutePHP 432

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

http://www.youkuaiyun.com/article/2013-07-23/2816316-10-php-snippets-for-developers

2> /dev/null 594

直接拿来用,10个PHP代码片段(收藏)

直接拿来用,10个PHP代码片段(一) http://www.youkuaiyun.com/article/2013-07-23/2816316-10-php-snippets-for-developers 直接拿来用,10个PHP代码片段(二) http://www.youkuaiyun.com/article/2014-03-14/2818762-php-code-snippets-for-developers...

weixin_30432579的博客 138

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

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

weixin_33935777的博客 120

10个实用的PHP代码片段

作为一个PHP开发人员,经常收集一些代码片段是非常有益的,以备将来使用。这些代码片段可以节省您宝贵的时间,也可以提高您的工作效率。   1.  PHP数组生成 CSV 文件 这的确是一个很简单的功能,从一个PHP数组生成一个.csv文件。此函数使用 fputcsv PHP 内置函数生成逗号分隔文件(.CSV)。该函数有3个参数:数据,分隔符和CSV enclosure,默认是双引号。

shenyue304的专栏 620
上一篇: json总结
下一篇: linux 下yum源配置,
php_jiang
博客等级 码龄15年 29粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值