浏览模式: 普通 | 列表
由于网站有了论坛与分类信息,现在想加上品牌空间,于是安装了Brand_2.1_GBK,安装很容易,可是发现品牌空间与论坛不能同步登录退出,虽然UCenter应用里显示品牌空间这个应用是通信成功的。可是在DZ论坛上登录后,品牌空间没有同步过来。而反过来,品牌空间登录后,DZ论坛是可以同步的。后来发现是cookie引起的。/config/config_global_default.php文件里有cookie的相关说明:// COOKIE 设置$_config['cookie']['cookiepre'] = 'uchome_'; // COOKIE前缀$_config['cookie']['cookiedomain'] = ''; // COOKIE作用域$_config['cookie']['cookiepath'] ...

阅读全文…

PHP判断字符串中是否含有中文

[ 2013-05-18 17:25:43 | 作者: admin ]
自从有了黑帽SEO,对付SPAM(垃圾留言)一直是网站工作人员的工作内容之一。迫害我们的不是垃圾留言群发机,就是垃圾用户注册机。

判断字符串中是否含有中文是对付SPAM的方法之一,可以有效的阻止纯英文的垃圾留言,还可以用这个方法规范用户注册。看下面的代码,兼容gb2312和utf-8。

<? $str = "测试中文";
echo $str; echo "<hr>";
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用
//if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判断字符串是否全是中文
if (preg_match("/[\x7f-\xff]/",
...

阅读全文…

PHP采集类:Snoopy.class.php

[ 2013-05-18 15:31:20 | 作者: admin ]
Snoopy是一个php采集类,用来模拟浏览器获取网页内容和发送表单。

下面是一些Snoopy特性:

        容易抓取网页内容
        容易抓取页面文本(去除HTML标签)
        容易抓取网页内链接
        支持代理抓取
        支持基本的用户名、密码认证
        支持设置user-agent,referer,cookies和header内容
        支持浏览器转向,和控制转向深度
        能把页面中的链接转化成高质量的链接
        容易提交数据和获得返还值
        能追踪HTML框架
        支持重定向的时候传递Cookies

Snoopy类,方法:

fetch($URI)

抓取网页的内容而使用的方法。$URI参数是被抓取网页的URL地址。抓取的结果被存储在 $this->results 中。如果你正在抓取的是一个框架,Snoopy将会将每个框架追踪后存入数组中,然后存入 $this->results。
...

阅读全文…
Discuz!7.0是康盛创想(Comsenz)公司于2008年12月份发布的一款论坛BBS建站产品。在做站的过程中,有时会出现:UCenter后台 => 应用管理,不小心删除了某个应用的问题。本篇教程,笔者就以Discuz!应用为例来演示,这么问题的解决方法。   解决方法:  UCenter后台 => 应用管理 => 添加新应用 => 自定义安装,如图:     填写 Discuz! 应用的初始化信息:     填写好应用名称,应用URL和应用类型后,点击页面底部的“提交”按钮,完成应用的添加。  UCenter后台 => 应用管理,可以看到通信失败:    点击上图中 ...

阅读全文…

linux (centos) 下查找文件的几种方法

[ 2013-02-05 10:52:09 | 作者: admin ]
1.whereis 文件名
  特点:快速,但是是模糊查找,例如 找 #whereis mysql 它会把mysql,mysql.ini,mysql.*所在的目录都找出来.我一般的查找都用这条命令.

  2.find / -name 文件名
  特点:准确,但速度慢,消耗资源大,例如我想找到php.ini的准确位置,就需要用

  #find / -name php.ini

  3.locate 文件名
  强力推荐的方法,最快,最好的方法.

  注意:第一次使用该命令,可能需要更新数据库,按照提示的命令执行一下就好了.
浏览器解析html的时候会把 字符串 '&times' 显示成符号 '×',你查看网页源代码会发现其实并没有转成,只是在前端显示成了 '×'

json Cannot use object of type stdClass as array

[ 2013-01-26 16:16:03 | 作者: admin ]
json_decode(Cannot use object of type stdClass as array)

最近用 php 的 array 處理下述的程式碼,

$author = 'Mary';
$test[$author] = array('message'=>'測試', 'time'=> 1237175074);
$test2 = json_decode(json_encode($test));
print_r($test2[$author]);

一直得到下述的錯誤訊息

Cannot use object of type stdClass as array

這個程式碼,只要第三行加個 true,就可以了。

$author = 'Mary';
$test[$author] = array('message'=>'測試', 'time'=> 1237175074);
...

阅读全文…
p.s. 使用mb_strlen函数必须指定编码

在长度检查方面,数据库使用的是varchar,长度是按字符个数算的,比如“abcdef”算6个字符,“一二三四五六”也算六个字符。而php的strlen方法算出并不一样,strlen("abcdef")是6,而strlen("一二三四五六")是18。这样检查起来就麻烦了。

php处理中文字符数,可以用mb_strlen() ,具有编码无关性,看下面的演示:

mb_strlen('abcdef','utf-8') == 6
mb_strlen('一二三四五六','utf-8') ==6

另外中文的截取也需要mb_substr()也是编码无关性,看演示
<?php   
echo mb_substr('曾经年少爱追梦一心只想往前飞', 0, 7, 'utf-8');   
...

阅读全文…