當前位置:首頁 » 編程語言 » 搜索引擎php

搜索引擎php

發布時間: 2023-06-30 10:30:13

php引擎程序是什麼

你說的是php的搜索引擎,還是模板引擎。

搜索引擎比如說PhpDig
是一個採用PHP開發的Web爬蟲和搜索引擎。通過對動態和靜態頁面進行索引建立一個詞彙表。當搜索查詢時,它將按一定的排序規則顯示包含關鍵字的搜索結果頁面。PhpDig包含一個模板系統並能夠索引PDF,Word,Excel,和PowerPoint文檔。PhpDig包含了三種最基本的搜素引擎技術:Spider技術,網頁結構化信息抽取技術或元數據採集技術,分詞/索引技術。區別於傳統搜索引擎,PHPdig適用於專業化更強、層次更深的個性化搜索引擎,利用它打造針對某一領域的垂直搜索引擎是最好的選擇。

還有很多這樣的開源而且免費的php搜索引擎:OpenWebSpider、RiSearch PHP
、Sphider、Snoopy、Sphinx、SEO Rank Checker、PHPCrawl、

模板引擎也有很多:
Smarty是一個使用PHP寫出來的模板引擎,是目前業界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內容,提供了一種易於管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內容不會影響到前端人員的頁面設計,前端人員重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
Heyes Template Class
一個非常容易使用,但功能強大並且快速的模板引擎,它幫助你把頁面布局和設計從代碼中分離。
FastTemplate
一個簡單的變數插值模板類,它分析你的模板,把變數的值從HTML代碼中分離處理。

ShellPage
一個簡單易用的類,可以讓你的整個網站布局基於模板文件,修改模板就能改變整個站點。

STP Simple Template Parser
一個簡單、輕量級並且易於使用的模板分析類。它可以從多個模板中組裝一個頁面,把結果頁面輸出到瀏覽器或者文件系統。

OO Template Class
一個你可以用在自己程序中的面向兌現的模板類。

SimpleTemplate
一個可以創建和結構化網站的模板引擎。它可以解析和編譯模板。

bTemplate
短小但是快速的模板類,允許你把PHP邏輯代碼從HTML修飾代碼中分離。

Savant
一個強大且輕量級的PEAR兼容模板系統。它是非編譯型的,使用PHP語言本身做為它的模板語言。

ETS - easy template system
可以使用完全相同數據重組模板的模板系統。

EasyTemplatePHP
適用於你的站點的一個簡單但是強大的模板系統。

vlibTemplate
一個快速、全能的模板系統,它包含一個緩存和調試類。

AvanTemplate
多位元組安全的模板引擎,佔用很少系統資源。它支持變數替換,內容塊可以設置顯示或隱藏。

② php中如何使用sphinx搜索引擎

一. 安裝、配置

1.ubuntu安裝sphinx

如果沒有安裝aptitude ,需要先安裝 aptitude

2.配置

3.執行命令分詞,會在/var/lib/sphinxsearch/data/test1 目錄下生成一堆索引文件

sudo indexer -c /etc/sphinxsearch/sphinx.conf test1

test1為上述配置文件的index名字

4.命令行測試搜索

sudo search -c /etc/sphinxsearch/sphinx.conf google

二.在php中使用,安裝php、sphinx的依賴庫

  1. 安裝 aptitudeapt-get install aptitude

sudo aptitude install libsphinxclient-dev libsphinxclient-0.0.1 -y

2.安裝php sphinx的擴展

安裝 pecl
sudo apt-get install php-pear php5-dev
在安裝sphinx
sudo pecl install sphinx

3.在配置文件php.ini中添加sphinx的擴展,

我的php.ini文件為
sudo vim /etc/php5/fpm/php.ini
獲取自己的php.ini文件位置使用
php5-fpm -i|grep ini

添加:
extension=sphinx.so


4.重啟php5-fpm,查看php是否載入sphinx模塊
sudo /etc/init.d/php5-fpm restart


5.將search程序運行在後台
sudo searchd -c /etc/sphinxsearch/sphinx.conf
默認監聽配置文件中的埠:9312

6.在thinkphp中調用搜索

搜索完畢,返回結果(默認返回20條,修改返回條數用添加$s->SetLimits(0, 1000, 1000);),搜索速度相當快,索引80w條數據的title和description兩個欄位耗時不到10s,該搜索引擎支持增量索引,多種模式的搜索,網上的資料也非常多

③ 擁有自己的搜索引擎

雖然現在已經很少人使用PC電腦去找資料了,但有時候還是不可避免要用到,當你搜索資料時你會發現現在的搜索引擎首先出現的是一大堆的廣告,是不是很煩。

現在就讓我們來安裝一個屬於自己的搜索引擎,不用買域名、不用買伺服器只需要你有一台PC電腦就可以了。

首先下載一個phpStudy2018.exe軟體(比較新的是這個phpStudy-x64-8.1.1.2.exe),用這個軟體來搭建一個運行PHP的伺服器平台。然後再下載一個開源的PhpSou搜索引擎(整合Sphinx) V3.1或其它你自己覺得合適的源碼

安裝好phpStudy後,同時把PhpSou搜索引擎源碼復制到phpStudyPHPTutorialWWW,然後點擊 其它選項菜單-站點域名管理,網站域名填入127.0.0.1(這個ip地址就是我們等會打開搜索引擎要用到的)。網站目錄E:phpStudyPHPTutorialWWW(這個www是放你搜索引擎源碼的文件夾

設置好後點擊新增-保存設置並生成配置文件,接下來就是運行配置搜索引擎了。點擊 其它選項菜單-My homePage(也可以在游覽器地址欄直接輸入剛才設置的ip地址127.0.0.1)如果是第一次運行,按軟體要求設置資料庫名稱、密碼什麼的就可以了,然後進入PhpSou後台管理,按自己需要填好網站的基本設置.

這時資料庫是空的(有些源碼可能會帶有一些數據)我們要在常規數據管理這里的網站管理、網址管理、網頁管理這三項都添加一些網址進去,然後點擊 網路爬蟲管理-抓取網站-開啟網路爬蟲或點擊 網路爬蟲管理-抓取網頁doang-開啟網路爬蟲

然後就會自動的不停的去抓取網址或者網頁了。

是不是很清爽,沒有了煩人的廣告,是不是很厲害。

其實說得這么厲害,可惜對個人來說還是自娛自樂的性質。

④ php可以做搜索引擎嗎

可以啊。網路和Google都是php寫的。
當然了,如果是做大型搜索引擎不僅僅需要php
還需要更多的伺服器端軟體編程來給php提供數據
否則搜索效率會很低。

⑤ PHP如何判斷網頁是否有搜索引擎機器人在訪問瀏覽

使用PHP技術搭建,因此我們用php去判斷是否是搜索引擎,PHP有個很簡單的方式去實現,通過_SERVER這個預定義變數中的_SERVER['HTTP_USER_AGENT']可以取得訪問者的屬性,具體可以看下Diiscuz!是如何判斷搜索引擎的,函數代碼如下:
function getrobot() {
if(!defined('IS_ROBOT')) {
kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';
kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';
if(preg_match("/(kw_browsers)/", $_SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', FALSE);
} elseif(preg_match("/(kw_spiders)/", $_SERVER['HTTP_USER_AGENT'])) {
define('IS_ROBOT', TRUE);
} else {
define('IS_ROBOT', FALSE);
}
}
return IS_ROBOT;
}
根據上面還可以精簡如下(最終我們採用了這個方案):
if(preg_match("/(Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i", $_SERVER['HTTP_USER_AGENT'])) {
echo 'robot';
}
如果你需要返回詳細的搜索引擎名稱,而不是是否是搜索引擎機器人的話,請看下面的代碼:
function get_naps_bot() {
useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos(useragent, 'googlebot') !== false){
return 'Googlebot';
}
if (strpos(useragent, 'msnbot') !== false){
return 'MSNbot';
}
if (strpos(useragent, 'slurp') !== false){
return 'Yahoobot';
}
if (strpos(useragent, 'spider') !== false){
return 'Baispider';
}
if (strpos(useragent, 'sohu-search') !== false){
return 'Sohubot';
}
if (strpos(useragent, 'lycos') !== false){
return 'Lycos';
}
if (strpos(useragent, 'robozilla') !== false){
return 'Robozilla';
}
return false;
}

⑥ 求一段php代碼,禁止用戶直接輸入網址訪問,但是通過搜索引擎搜索可以正常訪問!

<?php
if ((!isset($_SERVER['HTTP_REFERER']) || !$_SERVER['HTTP_REFERER']) && (stripos($_SERVER['HTTP_USER_AGENT'], 'bot') === false && stripos($_SERVER['HTTP_USER_AGENT'], 'spider') === false)) {
exit('沒有referer,user-agent中不含有bot或spider');
}

熱點內容
土工資料庫 發布:2025-02-11 09:48:55 瀏覽:962
libxml2編譯 發布:2025-02-11 09:48:45 瀏覽:744
java類的復制 發布:2025-02-11 09:48:45 瀏覽:600
127小時ftp 發布:2025-02-11 09:47:10 瀏覽:851
安卓怎麼看蘋果手機的行駛軌跡 發布:2025-02-11 09:26:19 瀏覽:884
h板電影種子ftp 發布:2025-02-11 09:06:10 瀏覽:738
c語言數據類型定義 發布:2025-02-11 09:00:38 瀏覽:237
一個小時如何選擇伺服器 發布:2025-02-11 08:58:14 瀏覽:442
網易我的世界伺服器推薦國服 發布:2025-02-11 08:56:34 瀏覽:241
電視父母鎖屏密碼應該會是什麼 發布:2025-02-11 08:36:42 瀏覽:892