作者: 罗银有 | 发布时间: 星期五, 07/09/2010 - 16:49
使用memcache也有段时间了,今天闲里偷懒,整理一下关于memcache相关内容。
安装php的memcache扩展
[root@luoyinyou-dev ~]# wget http://pecl.php.net/get/memcache-2.2.5.tgz
[root@luoyinyou-dev ~]# /data/httpd/php/bin/phpize ./configure --enable-memcache --with-php-config=/data/httpd/php/bin/php-config --with-zlib-dir
将生产的so文件路径放到php.ini中
重启nginx OR other…
作者: 罗银有 | 发布时间: 星期三, 01/13/2010 - 20:49
之前说的一篇php下载指定文件,今天终于遇到一个问题,IE另存下载时提示:无法复制,无法读取源文件或磁盘。一步一步调式,发现header报错?
因为我测试是php和html混合写的,之前没有任何输出,但就是报错。费大劲才解决这个问题:在php和html代码之间加个空行(格)。好了,header不报错,但是IE无法另存还照样出现。仔细检查代码,尝试任何可能性,试对了,解决办法:
//找到这行代码
header("Content-Type: application/octet-stream");
//修改为
header("Content-Type: application/oct…
作者: 罗银有 | 发布时间: 星期一, 01/11/2010 - 15:00
国外的灌水机貌似运作很频繁,删多次了也觉得很烦,再次加上屏蔽。
因为99.99%的评论内容都包含网址,所以第一次屏蔽时使用正则过滤网址,没几天升级wordpress,结果忘记加上那句正则。
今天彻底一点,加上中文判断,编辑wp-comments-post.php, 找到
if ( '' == $comment_content ) //大概在73行
//替换为
if (!preg_match("/[\x80-\xff]./", $comment_content))
//再将随后的wp_die的提示内容修改一下就OK了
作者: 罗银有 | 发布时间: 星期三, 09/09/2009 - 16:26
<?php
function force_download($file)
{
if ((isset($file))&&(file_exists($file))) {
header("Content-length: ".filesize($file));
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $file . '"');
readfile("$file");
} else {
echo &qu…
作者: 罗银有 | 发布时间: 星期二, 09/08/2009 - 16:51
<?php
//插入排序(一维数组)
function insert_sort($arr){
$count = count($arr);
for($i=1; $i<$count; $i++){
$tmp = $arr[$i];
$j = $i - 1;
while($arr[$j] > $tmp){
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
$j--;
}
}
return $arr;
}
//选择排序(一维数组)
function select_sort($arr){
$count = count($arr);
for($i=0; $i<$count; $i++…
作者: 罗银有 | 发布时间: 星期四, 06/25/2009 - 22:29
<?php
function unicode_encode($name)
{
$name = iconv('UTF-8', 'UCS-2', $name);
$len = strlen($name);
$str = '';
for ($i = 0; $i < $len - 1; $i = $i + 2)
{
$c = $name[$i];
$c2 = $name[$i + 1];
if (ord($c) > 0)
{ //两个字节的文字
$str .= '\u'.base_convert(ord($c), 10, 16).str_pad(base_convert(ord($c2), 10, 16), 2, 0, STR_PAD_LEFT);
}
else
{
$str .= $c2;
}
}
re…
作者: 罗银有 | 发布时间: 星期一, 05/04/2009 - 16:27
if (!function_exists('mb_strlen'))
{
function mb_strlen($str)
{
preg_match_all("/[\x80-\xff]?./" , $str , $arr);
return sizeof($arr[0]);
}
}
作者: 罗银有 | 发布时间: 星期三, 12/24/2008 - 18:42
先看一道算法题:
写一个算法生成n位编码的编码串(结果有多种,任意一种都可以接受)并且符合如下条件:相邻的两个编码之间有且只能有一位不同,并给出时间与空间复杂度
比如 2位的二进制的编码生成的编码串:00 01 11 10
比如 3位的二进制编码生成的编码串:001 011 111 101 100 110 010 000
如果使用格雷码,问题就很好解决了。点击这里查看更多关于格雷码的信息。
自然二进制码转换成二进制格雷码
其法则是保留自然二进制码的最高位作为格雷码的最高位,而次高位格雷码为二进制码的高位与次高位相异或,而格雷码其余各位与次高位的求法相类似。
例如:自然二进制编码如下:
1001
那么转换为格雷码的方法是:保…
作者: 罗银有 | 发布时间: 星期二, 12/23/2008 - 18:34
<?php
$data = implode("",file('menu.xml'));
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($parser, $data, $xml_array, $tags);
xml_parser_free($parser);
$showMe = xmlToArr($xml_array);
echo "<pre>";
print_r ($showMe);
echo "&…
作者: 罗银有 | 发布时间: 星期二, 11/11/2008 - 17:45
<?php
function check($image)
{
$content = file_get_contents($image);
if (preg_match("/".chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0'."/",$content)) return true;
else return false;
}
if (check('/home/lyy/luoyinyou/2.gif')) echo '真是动画';
else echo '不是动画';
?>
是不是很简单~~~~~~