php

QR Code二维条形码的生成和读取解析和摄像头的读取

星期日, 二月 28th, 2010 | JAVA-and-J2EE, php | 7 Comments

这两天不知道怎么对二维条形码感兴趣了,就找了下QR code的生成和读取方式,网上有开源的java项目,都是原来于日本的,分别是:

1.生成的QR code的网址是:http://swetake.com/qr/;
支持的原因版本还比较丰富,支持QRcode Perl的CGI和PHP脚本的版本,Ruby和java都有对应的支持类库等源代码,用起来还是很方便的;
2。读取和摄像头读取的是Open Source QR Code Library,官方网站为:http://qrcode.sourceforge.jp/ ,读取QR Code的所有代码,可以直接读取图片直接进行解析,也可以正常支持中文等,其中有个jmfexample就能实现通过摄像头读取QR Code;
把对应的java的代码,汇总打成了一个jar包,用起来也方便多了,jar包下载方式是:QRCode.jar

生成和读取的代码示例如下:
生成的代码:
› Continue reading

Tags: , , , ,

2010年发布imgShow的2.0版本兼容Jquery,无需插入代码

星期日, 一月 10th, 2010 | php, wordpress | 12 Comments

今天难得休假一天,也抽个时间把imgShow这个插件更新至2.0版本

新版修正了和jquery不兼容的bug,和使用者的反馈,实现了自动给文章内容的图片实现imgShow的展示功能,此版本继续兼容使用代码的方式;

启用此插件后即可,无需代码的插入,最大减少使用者的操作,完全自动化,感谢大家的意见和支持!

下载地址:imgshow2.0
1.0版本和使用更多信息见:ImgShow图片点击滚轮缩放的wordpress插件(plugins)
下图是新版展示:

图片看不清,可点击查看,支持滚轮缩放….正是本插件实现的功能

ru

Tags: , , , ,

修正imgShow的兼容Jquery版本

星期二, 十二月 8th, 2009 | php, wordpress | 一条评论

自己写的imgShow的图片展示插件,看反馈 zLear 说 “跟jQuery有冲突 激活插件后jQuery的特性就没有了”,看了下,果然有冲突,今天修正个版本,放去去了
具体方式见此插件页,点击这里详解

Tags: , , , ,

Resin4.0安装小记

星期日, 十月 18th, 2009 | JAVA-and-J2EE, linux, php | 2 Comments

Resin出了4.0版本,一直喜欢尝试新东西的直接; 就下载安装了下,安装起来很简单,可以到Resin Download去下载,其实以前在windows中下载过,可惜执行的时候一闪而过,当时没有在意也没有去管他了,今天又在linux下去真正用下了;
1.tar zxvf resin-4.0.1.tar.gz
2.cd resin-4.0.1
3../configure
4.make & make install
5.修改resin.xml的用户组 www-user,给赋予webapps的对应的用户组权限
6../bin resin.sh start 不报错的就可以http://localhost:8080/看到页面了,记得防火墙的8080端口要打开哦

不过可惜的是4.0版本据说不稳定,有人发生宕机事件,还有就是有的在上面运行出错的问题;
再者看resin的主要意图是增加对php的支持,研习resin4.0版本的文档也不是很多
为了稳定还是延续使用ReResin Pro 3.1.9版本
最近会处理一些nginx+resin的处理,还有resin本身的集群功能;nginx+PHP(FastCGI)+mysql已经搭建完毕

Tags: , , , ,

颜色六位码和RGB在线互转查询和计算方式

星期六, 八月 22nd, 2009 | pagemaker, php | 2 Comments

颜色六位码和RGB在线互转查询和计算方式
这是关于颜色的十六进制和十进制相互转换的问题。eg:
#FFFF00->FF,FF,00(RGB)->(255,255,0)->yellow!
额外的色彩转换工作。当然这种速度差异很难察觉,只是理论上的。

RGB是三原色R(red)、G(green)、B(blue)。RGB的所谓“多少”就是指亮度,并使用整数来表示。通常情况下,RGB各有256级亮度,用数字表示为从0、1、2…直到255。
按照计算,256级的RGB色彩总共能组合出约1678万种色彩,即256×256×256=16777216。通常也被简称为1600万色或千万色。也称为24位色(2的24次方)。
CSS颜色代码大全–自己网上的颜色调色板-六位颜色值
这24位色还有一种较为怪异的称呼是8位通道色,为什么这样称呼呢?
› Continue reading

Tags: , ,

周末放松下,写个页面丑陋的留言墙<又称许愿墙,爱墙>

星期六, 五月 23rd, 2009 | ajax, php, 体味生活 | 9 Comments

周末一个人在家,边听音乐,总点弄点东西吧,就随便写了写,感觉效果还不错,就是页面丑了点;

页面美化不是俺的强项啊,又不太花大力气去扒别人的漂亮的界面,等哪天想弄下,就去扒下,呵呵

可以点击这里访问://www.pomelolee.com/liyz/wish/

Tags: , ,

ImgShow图片点击滚轮缩放的wordpress插件(plugins)

星期日, 四月 5th, 2009 | php, wordpress | 70 Comments

小记前:这段时间一直忙着基于java的支付平台的设计和对接口的处理,赶在清明节有空整理下这个图片的点击,弄成个小插件吧,希望有需要的也可以直接激活使用,简单多了;
ImgShow图片点击滚轮缩放的wordpress插件(plugins)
官方访问地址:http://wordpress.org/extend/plugins/imgshow/
—-2012-04-18更新至2.1版本——————————-
屈指一算竟然时隔2年, 才再次更新版本,废话少说,此次更新如下就2点,兼容性和一个功能点:
1.支持更多 ie, firefox, chrome, opera, Safari,以前只支持ie和firefox
2.不想使特定图片启用效果该效果的,可以用下面代码阻止(系统默认对所有站点图片生效的)

<!--noimgshow--><img src="pic.jpg" /><!--noimgshow-->

EN:
1.Support for ie, firefox, chrome, opera, Safari
2. Do not want to make the corresponding picture effect is enabled,
you can use to prevent the effect of

<!--noimgshow--><img src="pic.jpg" /><!--noimgshow-->
imgshow2.1下载地址:imgshow2.1

—-2010-04-22更新至2.0.2.2版本—————————-

1.修正点击图片会弹出新窗口,造成本插件不能使用的bug; (No new windows open,the bug is not here)
下载地址:imgshow2.0.2.2

—-2010-04-05更新至2.0.2.1版本—————————-

1.优化加载处理速度
2.修正在一篇文章中多个图片的加载问题
3.增加鼠标移动到图片显示手型的样式
下载地址:imgshow2.0.2.1

== Description ==

Mouse Wheel zoom picture when you onclick it,use sample:

[imgShow:<img src="//www.pomelolee.com/imgshow/showPhoto.jpg" border="0" alt="skag"  width="560"/>]

this is ok
now start download(下载):imgshow1.0

今天难得休假一天,也抽个时间把imgShow这个插件更新至2.0版本

新版修正了和jquery不兼容的bug,和使用者的反馈,实现了自动给文章内容的图片实现imgShow的展示功能,此版本继续兼容使用代码的方式;

启用此插件后即可,无需代码的插入,最大减少使用者的操作,完全自动化,感谢大家的意见和支持!
下载地址:imgshow2.0
1.2010-02-26 modify js Compatibility ;修正由于大小写转换造成的部分js代码失效的bug
2.版本更新至2.0.1版本 version 2.0.1
版本更新至2.0.1修正bug如上:imgshow2.0.1下载

== Installation ==

1. Extract the contents of the archive (zip file)
2. Upload the showphoto folder to your ‘wp-content/plugins’ folder
3. Log in to your WordPress admin and go to the ‘Plugins’ section. You should now see showphoto in the list of available plugins
4. Activate the plugin by clicking the ‘activate’ link
5. Now go to use sample:

[imgShow:<img src="//www.pomelolee.com/imgshow/showPhoto.jpg" border="0" alt="skag"  width="560"/>]

6. More please click link: //www.pomelolee.com/imgshow/
另计:支持ie6,ie7,ff等的鼠标滚轮缩放和鼠标移动功能!

此插件在wp2.8版本或其他中的可视化的编辑中不能正常显示,因插件采用的是代码的格式;请采用在HTML格式下保持的示例模式

example:

图片看不清,可点击查看,支持滚轮缩放….正是本插件实现的功能

skag

Tags: , , , , , , ,

ucenter创始人密码忘记了的解决方法和直接重置密码文件

星期三, 二月 11th, 2009 | php | 没有评论

     今天升级论坛要把ucenter从1.0升级到1.5,密码不记得了,忙活了半天,把密码修改好其他按照官方就一切OK了,修改方法如下,有两种:

①.加密密码直接修改配置文件(uc下面/data/config.inc.php文件)
在里面你可以看到

1
2
define('UC_FOUNDERPW', '9be35ad751b976cb6a42e99196b8182a');
define('UC_FOUNDERSALT', '254654');

你的估计和我的是不一样的,你要是想省事的话,直接把上面两个复制下,把你的文件中的这两行给覆盖掉,密码是:123456,然后自行进入后台在【管理员】 选项中修改密码即可;不闲麻烦的也可以自行加密密码,原理如下:

用php输出下面的一个代码

$ucfounderpw= md5(md5($ucfounderpw).$ucsalt);

其中$ucsalt就是254654(这个根据您的需要而定,实际上是一个随机的六位数字即可)

$ucfounderpw是您要设置的密码。

得到的$ucfounderpw替换

define(‘UC_FOUNDERPW’, ‘9be35ad751b976cb6a42e99196b8182a’);

这个里面的9be35ad751b976cb6a42e99196b8182a就可以了。

②采用下面的文件进行升级式修改

  把文件updatepw.php上传到ucenter的根目录下,在浏览器中运行http://你的域名/uc/updatepw.php,然后填写密码即可;不过要记住的是,用完后要删除updatepw.php 文件,以免造成的后果很严重,呵呵;下载updatepw.php 文件

Tags: ,

Installing PHPEclipse–php IDE eclipse plugin

星期一, 二月 9th, 2009 | JAVA-and-J2EE, php | 没有评论

       今天给论坛升级,要发现自己忘记了Ucenter的密码了;又要md5加密密码了,赶紧找php的编辑文件好处理,发现电脑重装后,只把myeclipse升级到6.5,对应的插件都没有了,继续安装吧;明天还要继续安装php的环境,真是烦啊,倒谈不上难了,废话不多说了,开始安装这个插件吧;

The simplest way to install PHPEclipse is to use the PHPEclipse update site.
If you are using Eclipse 3.2 you will want to use the following URL for your update site:
http://update.phpeclipse.com/update/stable/1.1.x
For Eclipse 3.3 and 3.4 use
http://update.phpeclipse.com/update/stable/1.2.x

俺的是3.3的就用这个了

Then select Search for new features to install -> Next
You will create a new remote site Name: PHPEclipse 1.2.x
The url is http://update.phpeclipse.com/update/stable/1.2.x then click Ok

Make sure PHPEclipse 1.2.x is check then click Finish
After it is installed you will need to activate the Perspective
To do that got to Window-> Open Perspective ->Other -> Select PHP -> Ok

官方有个对应的图文可以参考:Installing PHPEclipse

 

Tags: , ,

IP地址获取真实地址函数,php版本,借助纯真QQWry库

星期一, 十二月 8th, 2008 | php | 没有评论

IP地址获取真实地址函数,php版本

代码和QQWry.dat库(更新至2008-11-05号)的下载:点击下载

php code

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<?php
/*
 * Created on 2008-11-5
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclipse - PHP - Code Templates
 */
 
 
 //===================================
//
// 功能:IP地址获取真实地址函数
// 参数:$ip - IP地址
//
//===================================
function convertip($ip) {
    //IP数据文件路径
    $dat_path = 'ip/QQWry.Dat';
 
    //检查IP地址
   if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip)) {
        return 'IP Address Error';
    }
    //打开IP数据文件
    if(!$fd = @fopen($dat_path, 'rb')){
        return 'IP date file not exists or access denied';
    }
 
    //分解IP进行运算,得出整形数
    $ip = explode('.', $ip);
    $ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];
 
    //获取IP数据索引开始和结束位置
    $DataBegin = fread($fd, 4);
    $DataEnd = fread($fd, 4);
    $ipbegin = implode('', unpack('L', $DataBegin));
    if($ipbegin < 0) $ipbegin += pow(2, 32);
    $ipend = implode('', unpack('L', $DataEnd));
    if($ipend < 0) $ipend += pow(2, 32);
    $ipAllNum = ($ipend - $ipbegin) / 7 + 1;
 
    $BeginNum = 0;
    $EndNum = $ipAllNum;
    $ip1num=0;
    $ip2num=0;
    //使用二分查找法从索引记录中搜索匹配的IP记录
    while($ip1num>$ipNum || $ip2num<$ipNum) {
        $Middle= intval(($EndNum + $BeginNum) / 2);
 
        //偏移指针到索引位置读取4个字节
        fseek($fd, $ipbegin + 7 * $Middle);
        $ipData1 = fread($fd, 4);
        if(strlen($ipData1) < 4) {
            fclose($fd);
            return 'System Error';
        }
        //提取出来的数据转换成长整形,如果数据是负数则加上2的32次幂
        $ip1num = implode('', unpack('L', $ipData1));
        if($ip1num < 0) $ip1num += pow(2, 32);
 
        //提取的长整型数大于我们IP地址则修改结束位置进行下一次循环
        if($ip1num > $ipNum) {
            $EndNum = $Middle;
            continue;
        }
 
        //取完上一个索引后取下一个索引
        $DataSeek = fread($fd, 3);
        if(strlen($DataSeek) < 3) {
            fclose($fd);
            return 'System Error';
        }
        $DataSeek = implode('', unpack('L', $DataSeek.chr(0)));
        fseek($fd, $DataSeek);
        $ipData2 = fread($fd, 4);
        if(strlen($ipData2) < 4) {
            fclose($fd);
            return 'System Error';
        }
        $ip2num = implode('', unpack('L', $ipData2));
        if($ip2num < 0) $ip2num += pow(2, 32);
 
        //没找到提示未知
        if($ip2num < $ipNum) {
            if($Middle == $BeginNum) {
                fclose($fd);
                return 'Unknown';
            }
            $BeginNum = $Middle;
        }
    }
 
 
    $ipFlag = fread($fd, 1);
    if($ipFlag == chr(1)) {
        $ipSeek = fread($fd, 3);
        if(strlen($ipSeek) < 3) {
            fclose($fd);
            return 'System Error';
        }
        $ipSeek = implode('', unpack('L', $ipSeek.chr(0)));
        fseek($fd, $ipSeek);
        $ipFlag = fread($fd, 1);
    }
 
    if($ipFlag == chr(2)) {
        $AddrSeek = fread($fd, 3);
        if(strlen($AddrSeek) < 3) {
            fclose($fd);
            return 'System Error';
        }
        $ipFlag = fread($fd, 1);
        if($ipFlag == chr(2)) {
            $AddrSeek2 = fread($fd, 3);
            if(strlen($AddrSeek2) < 3) {
                fclose($fd);
                return 'System Error';
            }
            $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
            fseek($fd, $AddrSeek2);
        } else {
            fseek($fd, -1, SEEK_CUR);
        }
 
        while(($char = fread($fd, 1)) != chr(0))
            $ipAddr2 .= $char;
 
        $AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));
        fseek($fd, $AddrSeek);
 
        while(($char = fread($fd, 1)) != chr(0))
            $ipAddr1 .= $char;
    } else {
        fseek($fd, -1, SEEK_CUR);
        while(($char = fread($fd, 1)) != chr(0))
            $ipAddr1 .= $char;
 
        $ipFlag = fread($fd, 1);
        if($ipFlag == chr(2)) {
            $AddrSeek2 = fread($fd, 3);
            if(strlen($AddrSeek2) < 3) {
                fclose($fd);
                return 'System Error';
            }
            $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
            fseek($fd, $AddrSeek2);
        } else {
            fseek($fd, -1, SEEK_CUR);
        }
        while(($char = fread($fd, 1)) != chr(0)){
            $ipAddr2 .= $char;
        }
    }
    fclose($fd);
 
    //最后做相应的替换操作后返回结果
    if(preg_match('/http/i', $ipAddr2)) {
        $ipAddr2 = '';
    }
    $ipaddr = "$ipAddr1 $ipAddr2";
    $ipaddr = preg_replace('/CZ88.Net/is', '', $ipaddr);
    $ipaddr = preg_replace('/^s*/is', '', $ipaddr);
    $ipaddr = preg_replace('/s*$/is', '', $ipaddr);
    if(preg_match('/http/i', $ipaddr) || $ipaddr == '') {
        $ipaddr = 'Unknown';
    }
 
    return $ipaddr;
}
 
 
//========================
//
//  调用举例(速度很快)
//
//========================
 
/**
 * testing use
 * 
echo convertip("192.168.101.888.99")."<br>";
 
echo convertip("192.168.101.118")."<br>";
 
echo convertip('219.238.235.10')."<br>";
//输出: 北京市 电信通
 
echo convertip('23.56.82.12')."<br>";
//输出:IANA
 
echo convertip('250.69.52.0')."<br>";
//输出:IANA保留地址
 
echo convertip('238.69.52.0')."<br>";
//输出:IANA保留地址 用于多点传送
 
echo convertip('192.168.0.1')."<br>";
//输出:局域网 对方和您在同一内部网
 
echo convertip('255.255.255.255')."<br>";
//输出:纯真网络 
 
  */
?>

Tags: ,

Search

文章分类

Links

Meta