前几天幼学笔记写了一篇《可以在前端实现的几个地理位置小功能》里面提到了我使用的QQ ip接口,其实我们也可以在PHP端实现根据IP定位用户地理位置,方法就是根据纯真的IP库来获取IP地理信息。我一个Google map API逆经纬度查询结合IP数据库接口的demo[点击查看],其实使用的方法就是Ajax过去IP,通过QQ IP接口查询出来地理信息,然后调用Google map API逆经纬度查询经纬度信息,然后在Google地图上标注地理位置。
1、PHP获取来访者IP函数getIP()
function getIP()
{
if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP");
elseif(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "0.0.0.0";
return $ip;
}
继续阅读全文……
PHP数组去除重复项有个内置函数array_unique(),但是php的array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组的array_unique函数
//二维数组去掉重复值
function array_unique_fb($array2D){
foreach ($array2D as $v){
$v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
$temp[] = $v;
}
$temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组
foreach ($temp as $k => $v){
$temp[$k] = explode(",",$v); //再将拆开的数组重新组装
}
return $temp;
}
PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点。这里收集了 21个日常开发中实用便捷的 PHP 代码,希望可以对一些 PHP 开发者都会有所帮助。
1. 可阅读随机字符串
此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。
/**************
*@length - length of random string (must be a multiple of 2)
**************/
function readable_random_string($length = 6){
$conso=array("b","c","d","f","g","h","j","k","l",
"m","n","p","r","s","t","v","w","x","y","z");
$vocal=array("a","e","i","o","u");
$password="";
srand ((double)microtime()*1000000);
$max = $length/2;
for($i=1; $i< =$max; $i++)
{
$password.=$conso[rand(0,19)];
$password.=$vocal[rand(0,4)];
}
return $password;
}
继续阅读全文……
又快到了一年一次的人类大迁移啦,怎样掌握最新的票务信息时当前每一个想回家的人最想做的事情,之前跟我同住的同事用自己的电脑wGet监控回家的飞机票信息,如果有打折机票就使用飞信接口自动发送到自己的手机上~
快到放寒假的时候,有些学生没有订票或者要自己去车站买票,可是不知道什么时候开始发售20天车票,今天我突发奇想,想用php抓取某一火车站的公告(以福州火车站为例)自动生成Rss,可以使用谷歌Reader订阅,甚至可以使用飞信的PHP接口发送最新的消息到自己的手机,这是一个思想,以后要有什么事情可以巧用谷歌Reader啦~(*^__^*) 嘻嘻……~挺聪明的方法~自己夸一夸~
言归正传,下面开始用php来写一个抓取火车站公告,并且自动生成RSS的php程序。
原理分析
使用cURL(cURL用法详解请查阅文章《cURL常用的几个PHP函数》)请求网页,使用PHP的正则匹配来匹配出想要的最新公告链接地址,以及公告信息的文章名称。然后使用一个PHP类RSS.class.php(详细用法以及下载地址,请查阅文章《PHP生成RSS类:RSS.class.php》)生成Rss文件。
使用google Reader订阅这个php地址就可以啦。
继续阅读全文……
前些日子给爱墙添加了RSS订阅功能,代码是自己写的,其中使用到了一个PHP类:RSS.class.php,感觉非常方便,不敢独享,特拿出来跟大家分享。
使用方法如下:
使用方法如下:
include_once("class/RSS.class.php");//引入RSS PHP类
$RSS= new RSS("名称","地址","描述","RSS频道图标");
$RSS->AddItem("日志的标题","日志的地址","日志的摘要","日志的发布日期");
$RSS->Display();//输出RSS内容
继续阅读全文……
cURL是一个功能强大的PHP库,我们可以使用PHP的cURL采用GET、POST等方式发送请求,获取网页内容以及取一个XML文件并把其导入数据库等等。本文中收集了几种常用的PHP的cURL函数,以备使用。主要的有几个PHP函数用于:GET,POST,HTTP验证,302重定向,设置cURL的代理。
1、开启PHP的cURL功能
在Windows平台下,或者使用xampp之类的集成服务器的程序,会非常简单,你需要改一改你的php.ini文件的设置,找到php_curl.dll,并取消前面的分号注释就行了。如下所示:
//取消注释,开启cURL功能
extension=php_curl.dll
在Linux下面,那么,你需要重新编译你的PHP了,编辑时,你需要打开编译参数——在configure命令上加上“–with-curl” 参数。
继续阅读全文……
在《写了一个Follow5 API的PHP类》中我已经提到了自己开发的Follow5的插件,并且这个插件是基于Follow5的API,今天我要发布一个WordPress的Follow5的插件,这个插件包括我之前发布的Follow5的API PHP类。
这个插件可以设置用户在Follow5的用户名跟密码,并且保存到WordPress的数据库中,根据用户名跟密码获取最新的Follow5的分享,并且可以在后台添加最新的评论信息,如果用户喜欢吧Follow5添加到自己的博客作为宣传,可以在后台“外观”中的“小工具”当中拖动Follow5的Widget到用户的侧边栏进行定制。
使用方法:
1、下载此插件到并上传到wp-content\plugins目录中;
2、登录网站后台安装此插件并且激活;
3、在“设置”里面找到自己的“Follow5管理”,第一次使用需要填写自己的Follow5信息并且保存;
4、可以自己在后台分享最新信息;
5、如果添加侧边栏,可以进入“外观”,“小工具”,把“WYQ Follow5 Widget” widget小工具拖到右侧即可。
6、特别说明:此版本为预览版,更多功能版本,请及时关注断桥残雪部落格:http://js8.in,您的肯定是对我最大的支持,如果您对本插件开发有什么功能上的要求,请及时联系我:Email:ksky521@gmail.com
最后更新时间:2009-11-29 15:00
下载地址:http://js8.in/mywork/follow5.rar
当前最新版本为:0.1预览版
继续阅读全文……
之前的博客就写过一篇文章《写了一个Follow5 API的PHP类》说自己已经写了一个Follow5的PHP类,只是没有测试,自己先用着,昨天终于把我的WordPress Follow5的插件写好了,今天就开始测试,估计可以找几个比较好的朋友帮忙测试下了,还算可以~
今天我主要是要发布我写的这个Follow5 的API PHP类,高手拍砖,基本的功能跟代码说明在程序中的注释写的已经很清楚了,不过在这里我还是要给大家说一说使用的方法
Follow5 API PHP类使用方法
P.S:程序构造时,必须填写一个申请到得Follow5的API Key,我自己有一个,可是不知道跟大家分享会不会不太合适,所以还是请感兴趣的童鞋自己申请吧~
1、程序初始化
$F5=new myF5($YourF5Name,$YourPassword,$YourF5APIKey,$dataType[xml/json]);
2、发布信息
$data=$F5->updateMSG($status, $link , $source );
status (必选) –消息内容,使用 POST 方式提交,utf-8编码。
link (可选) –消息link,使用 POST 方式提交,utf-8编码。支持视频,音频,图片
source (可选) – 消息来源,使用 POST 方式提交,如果与follow5的数据库匹配,网页上将以此格式显示: status(消息内容) 通过 source 对应的 API,source的获取在申请api_key的同时说明消息来源,与api_key是对应
3、显示最新分享
$data=$F5->showPublic($count);
count (可选) – 消息数,范围 1-20,默认为 10。
继续阅读全文……
今天上午刘洋找我要我Wordpress插件“一天一句”来使用,这个插件是我自己写的,也没有发布,就是自己玩,他顺便给我一个微博叫Follow5,说支持QQ,MSN,Gtalk,人人,开心,twitter,手机短信,饭否,叽歪,新浪微博……一串的方式来更新微博,并且可以申请API~
我试着申请了一下API,竟然很快就通过了,而刘洋好几次了都没有通过,我心里莫名的激动,看了下API开发文档,几乎把所有的Follow5的功能都加上了~
我们有个想法就是把Follow5的微博与WordPress同步,毕竟Follow5可以支持通过QQ来更新微博,这个是不错的方式~
文档上说很多功能需要http Basic验证支持,看了半天的开发文档,发现需要使用cURL的登录功能,于是找了很多Curl的文章,看了php官方的curl介绍,试着自己写了一个Follow5 API的php类,下午的时候发给了刘洋,自己测试了一下不错效果,很帅哦~
继续阅读全文……