Category Archives: PHP

解决PHP中long2ip反序的问题

原因是:php中没有考虑主机序和网络序的转换,导致主机序为little-endian的机器上,long2ip()得到的IP反了。
下面是解决办法,我们自己判断little-endian和big-endian:

[php]
function long2ip_fix($ip_32)
{
$ip = long2ip($ip_32);
//先判断是big-endian还是little-endian
$foo = 0x3456789a;
switch (pack ('L', $foo)) {[......]

继续阅读

PHP中让人郁闷的long2ip和ip2long

一般情况下,这两个函数是没法正常工作的:并不能正确完成ip和uint_32的互相转换。
解决办法:
bindec(decbin(ip2long( '218.22.80.170 ')))
long2ip正在寻找中。。。
目前的办法是,手动反向
 
function direction_fix($ip) {
//将读取的little-endian编码的4个字节转化为长整型数
$tmp = split("\.",$ip);
return $tmp[3].&[......]

继续阅读

php多目录嵌套include的解决方法

在网上看到别人这么做:

localhost\主目录\include\xxx.php中define一个主目录的绝对路径
//****目录的绝对路径****/
if ( !defined(‘ROOT_PATH’) ) {
define(“ROOT_PATH”, substr(dirname(__FILE__), 0, -7) );
}
其中这个-7就是include的长度,也就是到ROOT的所有子目录字节数,虽然可能每个文件都要加,但是可以[......]

继续阅读

PHP+MYSQL 两行Query搞定删除重复数据

$db=mysql_connect('localhost','xxx','xxx');
//text为可能存在重复的字段名,先用count子句来把TEXT重复的记录的ID拎出来,不全拎,节省资源~

mysql_select_db('vbnew');
$sql="SELECT id, text, count( text )
FROM `dic`
GROUP BY text
HAVING count( text ) >1";
$result=mysql_query($sql)or die("Inva[......]

继续阅读