一、要拷貝sphinx的接口文件到php項目中來。 php
具體的代碼: html
使用:$sc->buildExcerpts()來完成對應關鍵詞添加樣式來顯示 數組
$sc->buildExcerpts(一條記錄的數組,索引的名字,查詢的關鍵詞,關鍵詞添加的樣式) 服務器
$sc->buildExcerpts(一條記錄的數組,索引的名字,查詢的關鍵詞,array( socket
‘before_match’=>’<font color=」red」/>’, 函數
‘after_match’=>’</font>’ 測試
)) ui
該函數返回的是一個索引的數組,所以在輸出時要使用下標來顯示 編碼
如「冬天 的 雪」,並不會匹配 「我愛冬天」, 3d
但能夠匹配 「我的朋友,愛冬天,和雪」。
由於「冬天的雪」 被分紅 「冬天」,「的」,「雪」三個詞,匹配條件是同時包含
這三個詞,「我愛冬天」裏只包含一個「冬天」
如「冬天 的 雪」,並會匹配 「我愛冬天」。
"冬天的雪「 -》 」冬天「 」的「 」雪「
由於「我愛冬天」裏有一個「冬天」相匹配。
三、
四、
五、
原來有1000萬條記錄,創建完成索引了,
後來又添加了500條記錄,
思路:把後面添加的記錄單獨創建索引,創建的增量索引再合併到主索引上面。
具體實時:
(1)新建一張表,用於記錄電影最大的id,當主索引建完以後,表裏面就記錄最大的id,
(2)創建增量索引是主查詢,就使用條件了。
select id,title,description from dede_archives where id>(select max_id from a)
步驟:
(1)新建一張表
create table a(max_id int);
(2)修改主數據源
(3)添加增量數據源
(4)配置增量索引
(5)從新創建主索引
添加數據,進行創建增量索引
(6)把增量索引合併到主索引上面
indexer -c配置文件 --merge 主索引的名字 增量索引的名字 --rotate(不關閉服務強制合併)
知識點:郵件相關的協議:
smtp:發郵件,端口:25
pop3:收郵件,端口:110
一、要有郵件服務器
a) 本身搭建一個郵箱服務器
b) 使用現有的:12六、163等等。
163發郵件的接口:smtp.163.com
二、在163註冊一個郵箱帳號
在php中發送郵件使用一個 phpmailer的類。
注意事項:
啓用fsockopen函數
首先,在php.ini中去掉下面的兩個分號
複製代碼 代碼示例:
;extension=php_sockets.dll
;extension=php_openssl.dll
代碼案例:
<?php
require 'PHPMailer/class.phpmailer.php';
$mail = new PHPMailer();
/*服務器相關信息*/
$mail->IsSMTP(); //設置使用SMTP服務器發送
$mail->SMTPAuth = true; //開啓SMTP認證
$mail->Host = 'smtp.163.com'; //設置 SMTP 服務器,本身註冊郵箱服務器地址
$mail->Username = 'phpdaxia001'; //發信人的郵箱名稱
$mail->Password = 'php1234'; //發信人的郵箱密碼
/*內容信息*/
$mail->IsHTML(true); //指定郵件格式爲:html
$mail->CharSet ="UTF-8"; //編碼
$mail->From = 'phpdaxia001@163.com'; //發件人完整的郵箱名稱
$mail->FromName = '地球球長委員會'; //發信人署名
$mail->Subject = "地球的球長選舉"; //信的標題
$mail->MsgHTML("尊敬的用戶:明天開會,會後,我請客"); //發信主體內容
/*發送郵件*/
$mail->AddAddress("phpdaxia001@163.com"); //收件人地址
//使用send函數進行發送
if($mail->Send()) {
echo 'ok ok';
} else {
echo $mail->ErrorInfo;//若是發送失敗,則返回錯誤提示
}
完成用戶註冊完成後,要經過郵箱驗證。若是用戶密碼忘了,能夠經過郵箱找回密碼
create table user(
id int primary key auto_increment,
username varchar(32) not null comment '用戶的名稱',
password char(32) not null comment '用戶的密碼',
active tinyint not null default 0 comment '激活的標誌,0表示沒有激活,1表示已經激活',
validate varchar(32) not null comment '激活的用戶的校驗碼',
question varchar(32) not null comment '問題的名稱',
answer varchar(32) not null comment '問題的答案'
)
完成用戶註冊,找回密碼案例
建表:
案例:
register.html用戶註冊頁面:
action.php是處理用戶註冊 激活 驗證 找回密碼 頁面