Archive: 2014年11月29日

centos wdcp的挂载新硬盘转移数据

fdisk –l 查看新硬盘

centos挂载硬盘
centos挂载硬盘

mkdir /mnt/data 建立文件夹
mount /dev/vdb /mnt/data 挂载新硬盘到文件夹
如果提示
mount: you must specify the filesystem type
可以先进行格式化
mkfs.ext3 /dev/vdb

先停止所有的服务
service mysqld stop
service pureftpd stop
service wdapache stop
service httpd stop
service nginxd stop

移动数据
mv /www/* /mnt/data/

卸载新加载的分区
umount /dev/vdb

然后重新加载到/www目录下,如
mount /dev/vdb /www

启动服务
service mysqld start
service pureftpd start
service wdapache start
service httpd start
service nginxd start

到此,就完成了
但还要修改/etc/fstab这个文件,否则重起后,会找不到数据导致错误的发生
在/etc/fstab增加一行,大概如下
/dev/vdb /www ext3 defaults 0 0
保存退出,这样再次重起也没问题了

Phpcms V9下载页面直接显示真实链接的解决方法

原来的Phpcms V9下载设置老是会先弹出一个地址在下载! 而且我的网站下载第二层是一个TXT文档 所以好纠结 突然发现这个设置试了下 很好 完全符合我的要求 所以分享给大家

进入phpcms后台–“内容”–“内容相关设置”–“模型管理”,点击进去之后选择“下载模型”–点击“字段管理”–“本地下载”,如下图,修改红色地方就行。非常简单,根本不需要修改代码。

Phpcms V9下载页面直接显示真实链接的解决方法
Phpcms V9下载页面直接显示真实链接的解决方法

教你使用简单PHP二维码程序生成二维码

程序生成二维码
程序生成二维码

现在移动客户端使用率迅猛发展 所以现在开发网站必须跟上时代的步伐 所以现在开发网站
二维码功能不可缺少!现在的开源程序很多但是还暂时没有发现一款集成了二维码功能
废话不说了 直接上料
我是使用phpqrcode来实现二维码在线生成
下载好最新的phpqrcode程序 放在网站根目录或者其他目录 自己决定

然后新建erweima.php

1
<? 
1
include 
1
"./api/phpqrcode/phpqrcode.php"
1
; 
1
$value=$_GET[
1
'id'
1
]; 
1
$errorCorrectionLevel = 
1
"L"
1
; 
1
$matrixPointSize = 
1
"4"
1
; 
1
QRcode::png($value, 
1
false
1
, $errorCorrectionLevel, $matrixPointSize); 
1
exit; 
1
?> 

注意phpqrcode程序的路径
id 是等下获取你要生成二维码内容

1
<img src=
1
"/erweima.php?ac=qrcode&id=这里自己写你需要生成的地址"

 

1
/> 

这地址肯定你模板直接获取数据库的某个字段 下载地址 图片 电话 等等

PHP全模块搜索功能实现方法

最近因为仿一个站 其他效果功能基本都OK了 只有搜索还不够完美 PHPcms原始的搜索必须选择模块才能搜索到数据,有时候用户搜索时候可能错过了自己想要搜索的数据!!而且用户体验不理想。
研究了几个小时 终于解决! 我这个写的比较详细!程序小白基本也能完美理解!有任何疑问 直接回复我会尽快回复大家!

1
<?php
1
defined(
1
'IN_PHPCMS'
1
) or exit(
1
'No permission resources.'
1
);
1
pc_base::load_sys_class(
1
'form'
1
,
1
''
1
,0);
1
pc_base::load_sys_class(
1
'format'
1
,
1
''
1
,0);
1
class index {
1
    
1
function

 

1
__construct() {
1
        
1
$
1
this
1
->db = pc_base::load_model(
1
'search_model'
1
);
1
        
1
$
1
this
1
->content_db = pc_base::load_model(
1
'content_model'
1
);
1
    
1
}
1
    

 

1
    
1
/**
1
     
1
* 关键词搜索
1
     
1
*/
1
    
1
public 
1
function

 

1
init() {
1
        
1
//获取siteid
1
        
1
$siteid = isset($_REQUEST[
1
'siteid'
1
]) && trim($_REQUEST[
1
'siteid'
1
]) ? intval($_REQUEST[
1
'siteid'
1
]) : 1;
1
        
1
$SEO = seo($siteid);
 
1
        
1
//搜索配置
1
        
1
$search_setting = getcache(
1
'search'
1
);
1
        
1
$setting = $search_setting[$siteid];
 
1
        
1
$search_model = getcache(
1
'search_model_'
1
.$siteid);
1
        
1
$type_module = getcache(
1
'type_module_'
1
.$siteid);
 
1
        
1
if
1
(isset($_GET[
1
'q'
1
])) {
1
            
1
if
1
(trim($_GET[
1
'q'
1
])==
1
''
1
) {
1
                
1
header(
1
'Location: '
1
.APP_PATH.
1
'index.php?m=search'
1
);exit;
1
            
1
}
1
            
1
$typeid = empty($_GET[
1
'typeid'
1
]) ? 0 : intval($_GET[
1
'typeid'
1
]);
1
            
1
$time = empty($_GET[
1
'time'
1
]) || !in_array($_GET[
1
'time'
1
],array(
1
'all'
1
,
1
'day'
1
,
1
'month'
1
,
1
'year'
1
,
1
'week'
1
)) ? 
1
'all'

 

1
: trim($_GET[
1
'time'
1
]);
1
            
1
$page = isset($_GET[
1
'page'
1
]) ? intval($_GET[
1
'page'
1
]) : 1;
1
            
1
$pagesize = 10;
1
            
1
$q = safe_replace(trim($_GET[
1
'q'
1
]));
1
            
1
$q = new_html_special_chars(strip_tags($q));
1
            
1
$q = str_replace(
1
'%'
1
, 
1
''
1
, $q); 
1
//过滤'%',用户全文搜索
1
            
1
$search_q = $q;  
1
//搜索原内容
 
1
            
1
$sql_time = $sql_tid = 
1
''
1
;
1
            
1
if
1
($typeid) $sql_tid = 
1
' AND typeid = '
1
.$typeid;
1
            
1
//按时间搜索
1
            
1
if
1
($time == 
1
'day'
1
) {
1
                
1
$search_time = SYS_TIME - 86400;
1
                
1
$sql_time = 
1
' AND adddate > '
1
.$search_time;
1
            
1
} elseif($time == 
1
'week'
1
) {
1
                
1
$search_time = SYS_TIME - 604800;
1
                
1
$sql_time = 
1
' AND adddate > '
1
.$search_time;
1
            
1
} elseif($time == 
1
'month'
1
) {
1
                
1
$search_time = SYS_TIME - 2592000;
1
                
1
$sql_time = 
1
' AND adddate > '
1
.$search_time;
1
            
1
} elseif($time == 
1
'year'
1
) {
1
                
1
$search_time = SYS_TIME - 31536000;
1
                
1
$sql_time = 
1
' AND adddate > '
1
.$search_time;
1
            
1
} 
1
else

 

1
{
1
                
1
$search_time = 0;
1
                
1
$sql_time = 
1
''
1
;
1
            
1
}
1
            
1
if
1
($page==1 && !$setting[
1
'sphinxenable'
1
]) {
1
                
1
//精确搜索
1
                
1
$commend = $
1
this
1
->db->get_one(
1
"`siteid`= '$siteid' $sql_tid $sql_time AND `data` like '%$q%'"
1
);
1
            
1
} 
1
else

 

1
{
1
                
1
$commend = 
1
''
1
;
1
            
1
}
1
            
1
//如果开启sphinx
1
            
1
if
1
($setting[
1
'sphinxenable'
1
]) {
1
                
1
$sphinx = pc_base::load_app_class(
1
'search_interface'
1
, 
1
''
1
, 0);
1
                
1
$sphinx = 
1
new

 

1
search_interface();
1
                

 

1
                
1
$offset = $pagesize*($page-1);
1
                
1
$res = $sphinx->search($q, array($siteid), array($typeid), array($search_time, SYS_TIME), $offset, $pagesize, 
1
'@weight desc'
1
);
1
                
1
$totalnums = $res[
1
'total'
1
];
1
                
1
//如果结果不为空
1
                
1
if
1
(!empty($res[
1
'matches'
1
])) {
1
                    
1
$result = $res[
1
'matches'
1
];
1
                
1
}
1
            
1
} 
1
else

 

1
{
1
                

 

1
                
1
$sql = 
1
"`siteid`= '$siteid' $sql_tid $sql_time AND `data` like '%$q%'"
1
;
1
                

 

 
1
                
1
$result = $
1
this
1
->db->listinfo($sql, 
1
'searchid DESC'
1
, $page, 10);
1
            
1
}
1
           

 

1
            
1
//如果结果不为空
1
            
1
if
1
(!empty($result) || !empty($commend[
1
'id'
1
])) {
1
                
1
foreach($result as $_v) {
1
                    
1
if
1
($_v[
1
'typeid'
1
]) $sids[$_v[
1
'typeid'
1
]][] = $_v[
1
'id'
1
];
1
                
1
}
 
1
                
1
if
1
(!empty($commend[
1
'id'
1
])) {
1
                    
1
if
1
($commend[
1
'typeid'
1
]) $sids[$commend[
1
'typeid'
1
]][] = $commend[
1
'id'
1
];
1
                
1
}
1
                
1
$model_type_cache = getcache(
1
'type_model_'
1
.$siteid,
1
'search'
1
);
1
                
1
$model_type_cache = array_flip($model_type_cache);
1
                
1
$data = array();
1
                
1
foreach($sids as $_k=>$_val) {
1
                    
1
$tid = $_k;
1
                    
1
$ids = array_unique($_val);
 
1
                    
1
$where = to_sqls($ids, 
1
''
1
, 
1
'id'
1
);
1
                    
1
//获取模型id
1
                    
1
$modelid = $model_type_cache[$tid];
 
1
                    
1
//是否读取其他模块接口
1
                    
1
if
1
($modelid) {
1
                        
1
$
1
this
1
->content_db->set_model($modelid);
1
                    

 

1
                        
1
/**
1
                        
1
* 如果表名为空,则为黄页模型
1
                        
1
*/
1
                        
1
if
1
(empty($
1
this
1
->content_db->model_tablename)) {
1
                            
1
$
1
this
1
->content_db = pc_base::load_model(
1
'yp_content_model'
1
);
1
                            
1
$
1
this
1
->content_db->set_model($modelid);
 
1
                        
1
}
1
                        
1
$datas = $
1
this
1
->content_db->select($where, 
1
'*'
1
);
1
                    
1
}
1
                    
1
$data = array_merge($data,$datas);
1
                
1
}
1
                
1
$pages = $
1
this
1
->db->pages;
1
                
1
$totalnums = $
1
this
1
->db->number;
1
            

 

1
                
1
//如果分词结果为空
1
                
1
if
1
(!empty($segment_q)) {
1
                    
1
$replace = explode(
1
' '
1
, $segment_q);
1
                    
1
foreach($replace as $replace_arr_v) {
1
                        
1
$replace_arr[] =  
1
'<font color=red>'
1
.$replace_arr_v.
1
'</font>'
1
;
1
                    
1
}
1
                    
1
foreach($data as $_k=>$_v) {
1
                        
1
$data[$_k][
1
'title'
1
] = str_replace($replace, $replace_arr, $_v[
1
'title'
1
]);
1
                        
1
$data[$_k][
1
'description'
1
] = str_replace($replace, $replace_arr, $_v[
1
'description'
1
]);
1
                    
1
}
1
                
1
} 
1
else

 

1
{
1
                    
1
foreach($data as $_k=>$_v) {
1
                        
1
$data[$_k][
1
'title'
1
] = str_replace($q, 
1
'<font color=red>'
1
.$q.
1
'</font>'
1
, $_v[
1
'title'
1
]);
1
                        
1
$data[$_k][
1
'description'
1
] = str_replace($q, 
1
'<font color=red>'
1
.$q.
1
'</font>'
1
, $_v[
1
'description'
1
]);
1
                    
1
}
1
                
1
}
1
            
1
}
1
            
1
$execute_time = execute_time();
1
            
1
$pages = isset($pages) ? $pages : 
1
''
1
;
1
            
1
$totalnums = isset($totalnums) ? $totalnums : 0;
1
            
1
$data = isset($data) ? $data : 
1
''
1
;
1
            

 

1
            
1
include template(
1
'search'
1
,
1
'list'
1
);
1
        
1
} 
1
else

 

1
{
1
            
1
include template(
1
'search'
1
,
1
'index'
1
);
1
        
1
}
1
    
1
}
 
1
    

 

1
    
1
public 
1
function

 

1
public_get_suggest_keyword() {
1
        
1
$url = $_GET[
1
'url'
1
].
1
'&q='
1
.$_GET[
1
'q'
1
];
1
        
1
$trust_url = array(
1
'c8430fcf851e85818b546addf5bc4dd3'
1
);
1
        
1
$urm_md5 = md5($url);
1
        
1
if

 

1
(!in_array($urm_md5, $trust_url)) exit;
1
        

 

1
        
1
$res = @file_get_contents($url);
1
        
1
if
1
(CHARSET != 
1
'gbk'
1
) {
1
            
1
$res = iconv(
1
'gbk'
1
, CHARSET, $res);
1
        
1
}
1
        
1
echo $res;
1
    
1
}
1
    

 

1
    
1
/**
1
     
1
* 提示搜索接口
1
     
1
* TODO 暂时未启用,用的是google的接口
1
     
1
*/
1
    
1
public 
1
function

 

1
public_suggest_search() {
1
        
1
//关键词转换为拼音
1
        
1
pc_base::load_sys_func(
1
'iconv'
1
);
1
        
1
$pinyin = gbk_to_pinyin($q);
1
        
1
if
1
(is_array($pinyin)) {
1
            
1
$pinyin = implode(
1
''
1
, $pinyin);
1
        
1
}
1
        
1
$
1
this
1
->keyword_db = pc_base::load_model(
1
'search_keyword_model'
1
);
1
        
1
$suggest = $
1
this
1
->keyword_db->select(
1
"pinyin like '$pinyin%'"
1
, 
1
'*'
1
, 10, 
1
'searchnums DESC'
1
);
1
        

 

1
        
1
foreach($suggest as $v) {
1
            
1
echo $v[
1
'keyword'
1
].
1
"\n"
1
;
1
        
1
}
 
1
        

 

1
    
1
}
1
}
1
?>

复制上面文件另存为 index.php
覆盖到/phpcms/modules/search/ 下面

然后修改整站 header.html模板
在搜索位置

1
<form action=
1
"{APP_PATH}index.php"

 

1
method=
1
"get"

 

1
target=
1
"_blank"

 

1
id=
1
"search"

 

1
typeid=
1
"0"
1
>

加上typeid=”0″

然后修改/phpcms/templates/default/search/ index.html

1
<script type=
1
"text/javascript"
1
>document.write(
1
'<iframe src="{APP_PATH}index.php?m=member&c=index&a=mini&forward='
1
+encodeURIComponent(location.href)+
1
'&siteid={get_siteid()}+ typeid="0"" allowTransparency="true"  width="300" height="24" frameborder="0" scrolling="no"></iframe>'
1
)</script>

注意 typeid=”0″ 我传递了0参数
至此完美了!

phpcms V9自定义多图字段内容页、首页、列表页调用

phpcms_v9 多图字段 内容页,首页,分页自定义字段调用

说明:自定义多图字段名 shigongtu
1 内容页调用

1
{loop $shigongtu $r}
1
     
1
<img src=
1
""

 

1
title=
1
"测试"
1
/>
1
{/loop}

2 首页,分页调用
第一种推荐位调用自定义字段
在模型里加好自定义字段后,必须把“在推荐位标签中调用”点击“是“
然后用同一样的方法去调节数据就OK了,记住,如果你加了文章,必须去更新文章才会显示,自定义段在推荐中只显示你选择后,选择前加的加文章不显示,更新一下文章就显示了
例子:

1
{pc:content action=
1
"position"

 

1
posid=
1
"推荐位id"

 

1
num=
1
"30"

 

1
thumb=
1
"1"

 

1
moreinfo=
1
"1"

 

1
order=
1
"listorder DESC"
1
}
1
{loop $data $key $val}<LI>
1
<a href=
1
"{$val['url']}"

 

1
target=
1
"_blank"
1
><img src=
1
"{$val['自定义段']}"

 

1
alt=
1
"{$val['title']}"

 

1
height=36 width=98 /></a>
1
<a href=
1
"{$val['url']}"

 

1
target=
1
"_blank"
1
>{str_cut($val[
1
'title'
1
],20)}</a></LI>
1
{/loop}
1
{/pc}

普通列表或栏目调用自定义字段

在{pc:content action=”lists” 后加上副表moreinfo=1 (等于1时显示,0时不显示)

例子:

1
{pc:content action=
1
"lists"

 

1
moreinfo=
1
"1"

 

1
catid=
1
"51"

 

1
order=
1
"id"

 

1
num=
1
"5"
1
cache=
1
"3600"
1
}
1
{loop $data $r}
1
<a href=
1
"{$r[url]}"

 

1
target=
1
"_blank"
1
> {$r[title]}</a>
1
{php eval(
1
"\$arr="

 

1
. $r[shigongtu] . 
1
";"
1
);}
1
{loop $arr $val}
1
{$val[url]} |
1
{/loop}
1
{/loop}
1
{/pc}

注:
原来是需要在模板里进行一次PHP变量赋值才行。LOOP标签查出来的变量数组不能直接再使用LOOP循环。

1
{pc:get sql=
1
"select * FROM v9_house_data where id=2"

  

1
num=
1
"1"

 

1
cache=
1
"3600"

 

1
return
1
=
1
"data"
1
}
1
      
1
{loop $data $r}
1
    

 

1
       
1
{php eval(
1
"\$arr="

 

1
. $r[hxt] . 
1
";"
1
);} 
1
//必须增加这个赋值,才能二次LOOP变量数组
1
        
1
{loop $arr $rs}
1
          
1
{$rs[
1
'fileurl'
1
]}
1
        
1
{/loop}
1
    

 

1
      
1
{/loop}
1
    
1
{/pc}