当然, 本文不是要对中文搜索引擎做研究, 而是分享如果用 PHP 做一个站内搜索引擎。 本文是这个系统中的一篇。 我使用的分词工具是中科院计算所的开源版本的 ICTCLAS。 另外还有开源的 Bamboo, 我随后也会对该工具进行调研。 从 ICTCLAS 出发是个不错的选择, 因为其算法传播比较广泛, 有公开的学术文档, 并且编译简单, 库依赖少。 但目前只提供了 C/C++, Java 和 C# 版本的代码, 并没有 PHP 版本的代码。 怎么办呢? 也许可...
复制代码 代码如下:<?php /** * @usage: used to offer safe file write operation in multiple threads context, arbitory file type * @author: Rocky Zhang * @time: Nov. 11 2009 * @demo[0]: $handler = mfopen($file, ‘a+‘); * mfwrite($handler, $str); */ function mfopen($file, $mode=‘w+‘) { $tempfile = generateTempfile(‘./tempdir‘, $file); preg_match(‘/b/i‘, $mode) || ($mode .= ‘b‘); // ‘b‘ is r...
最近想用php写一个爬虫,就需要解析html,在sourceforge上找到一个项目叫做PHP Simple HTML DOM Parser,它可以以类似jQuery的方式通过css选择器来返回指定的DOM元素,功能十分强大。 首先要在程序的开始引入simple_html_dom.php这个文件 复制代码 代码如下:include_once(‘simple_html_dom.php‘); PHP Simple HTML DOM Parser提供了3种方式来创建DOM对象 复制代码 代码如下:// Create a DOM object from a string $html = str_ge...
不多说,直接上代码复制代码 代码如下://链接数据库‘查询mysql_connect(‘localhost‘,‘username‘,‘userpwd‘)or die("数据库链接失败".mysql_error());mysql_select_db(‘库名‘);mysql_query(‘set names utf8‘);$sql1="select * from user ";$query1=mysql_query($sql1);$count=array();while($row=mysql_fetch_assoc($query1)){ $count[]=$row;}$totalnews=count($count);//判断pageif($_GET[‘page‘]){ $page=$_G...
MySQL好像从5.0开始才引入存储过程,反正以前做应用的时候从没碰过,不过现在因为主要作内部系统,所以很多应用都用到了存储过程,当然前台有时候也需要调用MySQL存储过程,PHP的MySQL Lib好像支持的不是很好,不过我搜索了些资料,虽然不多,但是还是尝试的使用了,现在介绍一下方法,以便用到的朋友不用再头疼。 lMySQL扩展也是支持存储过程的,不过只支持无返回结果的存储过程,如果该存储过程存在输出,这个调用就会抛出一...
Http类在目录ThinkPHP/Lib/ORG/Net下面。接下来看看是如何调用的。 复制代码 代码如下:<?php import("Com.Buyback.QueryAmazon"); import("ORG.Net.Http"); class Image { public static function getImage($isbn) { $bookInformModel = D("bookinform"); $result = $bookInformModel->where("isbn=‘$isbn‘")->select(); if($result[0][‘image‘] == ""){ $data[‘inform_id‘] = $result[0][‘inform_id‘]; $remoteUrl = Quer...
复制代码 代码如下:function Files($path) { foreach(scandir($path) as $line) { if($line==‘.‘||$line==‘..‘) continue; if(is_dir($path.‘/‘.$line)) Files($path.‘/‘.$line); else echo ‘<li>‘.$path.‘/‘.$line.‘</li>‘; } } PHP遍历文件及文件夹 加入给定文件夹 C:\\Windows\\AppPatch 1.首先获取这个文件夹下面的所有东西,也就是文件,文件夹,放一个数组里面 $fileArr = array( ‘files‘ => array(), //文件...
array_multisort (PHP 4, PHP 5) array_multisort -- 对多个数组或多维数组进行排序 说明 bool array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]] ) 如果成功则返回 TRUE,失败则返回 FALSE。 array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。 关联(string)键名保持不变,但数字键名会被重新索引。 输入数组被当成一个表的列并以行来排序――这类似于 SQL 的...
算法描述:⒈ 从第一个元素开始,该元素可以认为已经被排序⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置⒌ 将新元素插入到下一位置中⒍ 重复步骤2复制代码 代码如下:<?php
$arr =array(123,0,5,-1,4,15); function insertSort(&$arr){ //先默认第一个下标为0的数是排好的数 f...
复制代码 代码如下:<?php @mysql_connect("localhost", "root","1981427") //连接数据库服务器 or die("数据库服务器连接失败"); @mysql_select_db("test") //选择数据库mydb or die("数据库不存在或不可用"); $query = @mysql_query("select * from tablename1") //执行用于计算页数的SQL语句 or die("SQL语句执行失败"); $pagesize = 5; //设置每页记录数 $sum = mysql_numrows($query); //计算总记录数 if($sum % $pagesize == ...
使用curl的多线程,另外curl可以设置请求时间,遇到很慢的url资源,可以果断的放弃,这样没有阻塞,另外有多线程请求,效率应该比较高下面是代码实现/** * curl 多线程 * @author http://www.lai18.com* @param array $array 并行网址 * @param int $timeout 超时时间* @return mix */public function Curl_http($array,$timeout='15'){$res = array();$mh = curl_multi_init();//创建多个curl语柄foreach($array as $k=>$url){$co...
复制代码 代码如下:$conn = new com("ADODB.Connection"); $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("www.jb51.net/db.mdb"); //与access连接要用到com接口了。 $conn->Open($connstr); $rs = new com("ADODB.RecordSet"); //数据查询并显示出来 $rs->Open("select * from szd_t",$conn,1,1); while(! $rs->eof) { $f = $rs->Fields(1); echo $f->value; $rs->MoveNext(); } //下面来看一下php acc...
<?php exec("/bin/grep -r ‘$oldword‘ $rootpath", $results, $errorCode); if ($errorCode){ if ($errorCode == 1){ echo "Possibly no files were found with ?$oldword in them<BR>\n"; } echo "OS Error: $errorCode<BR>\n"; echo "Check ‘man errno‘ and count down<BR>\n"; echo "Usually paths/permissions<BR>\n"; } while (list(,$path) = each($results)){ $parts = explode(‘:‘, $path); $path = $pa...
<?php /** * @name 采集书.php * @date Sun Mar 01 22:48:02 CST 2009 * @copyright 马永占(MyZ) * @author 马永占(MyZ) * @link http://blog.csdn.net/mayongzhan/ */ //header(‘Content-Type:text/html;charset=utf8‘); header(‘Content-Type:text/html;charset=gb2312‘); error_reporting(E_ALL); date_default_timezone_set(‘Asia/Shanghai‘); set_time_limit(0); function writer($content,$url) { $fp = fopen($url, ‘...
核心代码:
<?php
// $document 应包含一个 HTML 文档。
// 本例将去掉 HTML 标记,javascript 代码
// 和空白字符。还会将一些通用的
// HTML 实体转换成相应的文本。$search = array ("‘<script[^>]*?>.*?</script>‘si", // 去掉 javascript"‘<[\/\!]*?[^<>]*?>‘si", // 去掉 HTML 标记"‘([\r\n])[\s]+‘", // 去掉空白字符"‘&(quot|#34);‘i", // 替换 HTML 实体"‘&(amp|#38);‘i","‘&(lt|#60);‘...