怎么找什么是开源代码软件的汉化包代码

docfetcher中文版|DocFetcher 开源桌面搜索工具下载1.1.10 官方汉化版
免费软件下载
DocFetcher 开源桌面搜索工具 1.1.10 官方汉化版
DocFetcher是一个功能强大的软件程序,用于快速定位您的计算机上的文档文件,与其他的文件类型(如音乐,图片)在一起。该工具还可以搜索这些项目中的内容。
DocFetcher的接口是基于一个标准的窗口,一个组织良好的布局。在框架的左侧,可以过滤文件类型。该应用程序支持FLAC , HTML , AbiWord的,支持MP3 ,的MS Excel , TXT,RTF和PDF文件,等等。
为了执行搜索任务,你必须定义的位置看在中,创建一个索引表;这可以是一个文件夹,档案, Outlook的PST项目或剪贴板
有可能通过建立最小和最大文件大小来筛选结果。当建立一个索引表,您可以进行多次调整。例如,你可以索引的HTML对单文件,检测可执行7Z和ZIP压缩文件,并保存相对路径,如果它是可能的。选项??可以恢复到默认值。
一些配置设置也可通过首选项屏幕。因此,搜索历史,可以自动清零退出。但你也可以重新配置全局热键,改变默认的高亮颜色,等等。自述文件解释DocFetcher的各个方面。
程序需要非常低的CPU和系统内存量,所以它不会把压力对计算机的整体性能。它具有良好的响应时间,并快速显示结果,而不会导致操作系统挂起,崩溃或弹出错误对话框。总而言之, DocFetcher提供了一个简单的解决方案文件中搜索文本。还有一个便携版,便携DocFetcher 。您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于LAMP的开源课程管理系统Moodle的分析.pdf67页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:150 &&
你可能关注的文档:
··········
··········
硕士学位论文
基于LAMP的开源课程管理系统Moodle的研究
姓名:叶展
申请学位级别:硕士
专业:教育技术学
指导教师:何仁生
顺f’≯f_沦之
进入21世纪,计算机技术和互联网技术的飞速发展萨在改变我们的
教育方式、学习方式。越来越多的教育工作者认识到教育技术将会是21
世纪教育的至高点,因此他们正在探索如何将教育思想和技术相结合,
将课章教学和基于互联网的在线课程学习相结合,最终实现教学的最优
化。由于我国教育的实际情况,摆在他们面前有一个瓶颈问题:教育资
金投入有限,怎样利用有限的资金构造一个功能强大的在线的课程管理
近年来,越来越多的人丌始关注丌源软件,他们认为丌源软件的思想
正在影响和改变我们软件开发的传统模式。国外很多的政府机构、企业
用户、个人用户都在应用丌源软件为其提供信息化服务,以Linux、
Apache等为代表的丌源软件也已经让他们从中获益。因此本文介绍了基
于LAMP的课程管理系统一Moodle,这一整套开源的系统解决方案。由
于我国东西部教育资金投入的差距较大,使用免费丌源的软件对缩小我
国东西部和城乡教育的数字鸿沟有重要意义。
一个优秀的课程管理系统不一定是要突出它的技术特征,而是要看
它是否能真正的融入先进的教育思想。Moodle中体现的教学论和学习沦,
特别是系统中融入的社会建构论,对以学生为主体,教师为主导
正在加载中,请稍后...如何更有效地学习开源项目的代码?
学计算机的学生,空闲时间很多,又不方便出去实习,朋友说让我看看开源代码,可是漫漫开源社区,而且感觉项目都很庞大且复杂,不知道大家对这个有什么看法。ps.个人关注java 动态语言 web
按投票排序
我很认同庄表伟总结的 “学习开源,就尽可能在代码里找答案,而不是在代码之外找答案,那些都是二手的,而且很可能是不准确的。”
但是如何读好,读懂代码,我这边还是有不同的认识。1. 需要从代码管理库下载完整的源代码,而不是简单的源代码文件包或者source.jar.这样做有很多好处,一个是你可以获取代码的修改记录,还有你可以获取到完整的测试代码,当你要提交patch的时候,你可以借助版本管理工具生成针对不同版本的patch。2. 示例代码与单元测试示例代码可以帮助你学会使用相关开源项目的API。很多朋友在使用开源项目的时候遇到一个小问题就发信给开发者要这样或者那样的示例代码,其实他们没有发现大部分的开源项目在开发的过程中,为了验证其实现的功能,都会写很多单元测试代码。这些代码其实非常好的示例代码。可能是下源码,建工程会花费你几个小时的时间,但是如果你想深入了解开源项目的话,这点投资还是很有价值的。其实读单元测试的好处太多了,这里简单给大家列一下:由于一个单元测试一般也就是几个小时的开发工作量,你很容易就能读懂相关的代码。每个单元测试都是可以独立运行的,这样节省你跟踪调试的时间。单元测试在很大程度定义了软件的功能,可以帮助你快速掌握项目的相关API。如果你修改的开源项目的代码,你可以通过修改单元测试来验证你的修改是否正确。 3. 架构文档
其实大部分的开源项目都会对其架构有一定的描述,这些描述可能会有点过时,但是通读一下会让你项目有一个比较深入的认识。这样做好比是让你对北京的二环,三环,四环,五环有个大体的认识。这样在你要对代码的某块内容进行详细研究的时候(例如找中关村的位置的时候,知道西北四环)就能很快定位了。
如果你空闲时间很多,我建议你多参加一些比赛。我在大学期间就频繁参加各种比赛,收获很大。一个完整的项目,不管再小,只要做完了,就会有收获。
大三的时候就是因为参加比赛,才开始看一些比较大的开源项目源代码,大概几万行的样子,看完了感觉受益匪浅,从网上成熟的开源代码里,可以学到很多的设计思想。之后因为其他的项目,又陆续看了几个开源项目的代码,每一个代码量都不算太大,大概几千行到几万行不等。虽然我很热爱编程,但是,我看开源代码也全部是因为项目需要,是项目驱动的,感觉很突兀的拿来一个项目的代码来看,找不到那么强大的斗志。
所以,我还是建议你从项目入手,以项目为驱动,激励自己进步,是否一定要看开源代码,就看你个人的兴趣和需要了。
我来补充几条和参与开发相关的。当然参与不是学习开源代码必要的条件,但是实际的参与,和作者们直接的交流会更有效地帮助你理解和提高。选择什么项目很重要,如果重在参与和实践,那么最好选一个自己用得到,非常感兴趣的项目。这样可以有很强的动力支持自己做一些代码,否则只是阅读代码很枯燥,效果也不好。项目的类型,名气,成熟度以及社区开放性,都会对你的参与有影响。一般都会有一个 How to Contribute 的文档,可以从那里看起来,运气好的话可以发现有 code walkthrough guide,或者是架构类文档一定要去订阅项目的开发邮件列表。IRC 一直挂着,每天至少一次用十几分钟扫描一下 IRC 上的讨论。很多项目会有为新人准备好的入门 bug 列表,挑一个没有人在做而你又特别有兴趣的开始做起来,有问题一般都可以在 IRC 或邮件列表上问。建议「脑中」有一个大概的流程图就可以,从高层去把握,不要花很多时间去画细节的流程图。一个是不必记忆太多细节,还有就是绝大多数不可以自动生成的图形随着代码的演进都会过时。对一些文档注释极少的项目,有时可以利用版本控制工具回退到比较早期较简单的版本,更容易整体把握。不过这个方法不是很通用,最好先问问作者们。Coders At Work 这本书中有多次聊到如何阅读代码,有兴趣可以找到读读
你有个任务,需要用到某个开源项目;或者老大交代你一个事情,让你去了解某个东西。怎么下手呢?如何开始呢?我的习惯是这样:1.首先,查找和阅读该项目的博客和资料,通过google你能找到某个项目大体介绍的博客,快速阅读一下就能对项目的目的、功能、基本使用有个大概的了解。2.阅读项目的文档,重点关注类似Getting started、Example之类的文档,从中学习如何下载、安装、甚至基本使用该项目所需要的知识。3.如果该项目有提供现成的example工程,首先尝试按照开始文档的介绍运行example,如果运行顺利,那么恭喜你顺利开了个好头;如果遇到问题,首先尝试在项目的FAQ等文档里查找答案,再次,可以将问题(例如异常信息)当成关键词去搜索,查找相关的解决办法,你遇到了,别人一般也会遇到,热心的朋友会记录下解决的过程;最后,可以将问题提交到项目的邮件列表,请大家帮你看看。在没有成功运行example之前,不要尝试修改example。4.运行了第一个example之后,尝试根据你的理解和需要修改example,测试高级功能等。5. 在了解基本使用后,需要开始深入的了解该项目。例如项目的配置管理、高级功能以及最佳实践。通常一个运作良好的项目会提供一份从浅到深的用户指南,你并不 需要从头到尾阅读这份指南,根据时间和兴趣,特别是你自己任务的需要,重点阅读部分章节并做笔记(推荐evernote)。6.如果时间允许,尝试从源码构建该项目。通常开源项目都会提供一份构建指南,指导你如何搭建一个用于开发、调试和构建的环境。尝试构建一个版本。7.如果时间允许并且有兴趣,可以尝试阅读源码:(1)阅读源码之前,查看该项目是否提供架构和设计文档,阅读这些文档可以了解该项目的大体设计和结构,读源码的时候不会无从下手。(2)阅读源码之前,一定要能构建并运行该项目,有个直观感受。(3)阅读源码的第一步是抓主干,尝试理清一次正常运行的代码调用路径,这可以通过debug来观察运行时的变量和行为。修改源码加入日志和打印可以帮助你更好的理解源码。(4)适当画图来帮助你理解源码,在理清主干后,可以将整个流程画成一张流程图或者标准的UML图,帮助记忆和下一步的阅读。(5)挑选感兴趣的“枝干”代码来阅读,比如你对网络通讯感兴趣,就阅读网络层的代码,深入到实现细节,如它用了什么库,采用了什么设计模式,为什么这样做等。如果可以,debug细节代码。(6)阅读源码的时候,重视单元测试,尝试去运行单元测试,基本上一个好的单元测试会将该代码的功能和边界描述清楚。(7)在熟悉源码后,发现有可以改进的地方,有精力、有意愿可以向该项目的开发者提出改进的意见或者issue,甚至帮他修复和实现,参与该项目的发展。8.通常在阅读文档和源码之后,你能对该项目有比较深入的了解了,但是该项目所在领域,你可能还想搜索相关的项目和资料,看看有没有其他的更好的项目或者解决方案。在广度和深度之间权衡。
以上是我个人的一些习惯,我自己也并没有完全按照这个来,但是按照这个顺序,基本上能让你比较高效地学习和使用某个开源项目。原文:
首先构想一个你想做的东西,比如论坛、博客、微博什么的。然后自己思考需要什么功能,应该怎么去实现,尽可能包括细节,有必要时记录下来。最后去找个类似的开源应用,看看它是怎么实现的,和你的想法有什么差异,有什么可以学习或需要改进的地方。
其实往往方法都是简单的,最后比的就是坚持和韧性了。以读代码来说,首先想办法让它能编译运行跑起来,然后想办法加减一些东西或者调用它实现一些简单的功能,根据这些来观察分析调试它的行为。
1 反复地使用软件,熟释软件的组成文件和软件功能,注意IE地址栏内的地址变化; 2 打开数据库文件或存放数据的XML文件,参照数据字典了解各个表和字段的数据含意,
如果没有数据字典,就运行软件输入数据,参照所输入的数据,了解各个表和字段的数据含意; 3 利用Visio进行反向工程,将类图抽出来;
4 研究类之间的关系,注释各个类的属性和方法,弄清程序的整体框架; 5 另外开一个项目,按照软件开发的流程,将代码分段复制进新的项目,进行编译调试,
关注一些实现细节,学习一些编程的技巧。
我想说stackoverflow+github
了解对方写这个项目的的动机&& 了解对方写这个模块的动机
&& 了解对方写这个函数的动机
iteye看到的一篇文章,刚刚看到
从项目下手,有目的的看,如果完全是为了学代码而看代码,可能会很难提坚持到最后
1. 画出整个程序的流程图,理解整个程序流程的思想。画流程图的方式更让人很直接的理解程序的整体流程,而不会被代码所干扰,让程序员总体上把握整个程序。    2. 对流程各节点(函数或过程)的理解。流程的每一节点是构成整个流程的不可缺少的部份。    3. 再把流程和流程各节点串起来理解整个程序,可能的话最好写出读书笔记。    4. 如果想深刻的学习到源代码的精髓所在,请写一个相近的程序进行操练。当你理解了这个程序并不表明你掌握了这个程序,只有在你操练一个相近的程序时,你才知道你到底理解了多少,掌握了多少。
虽然和你的方向不一样,但觉得学习是相通的。我学习CG也有一段时间了,有两点建议:从简单做起。刚开始的时候学习一些领域内基础理论,然后找一些简单的东西去实现,不用一开始就去找开源项目。我有个师兄就经常动手写一些小程序,如改进宿舍网络登录客户端等。积小成多,就能显著提高自己的编程能力。学习东西一定要和自己生活或工作有联系,这样才会有乐趣和动力。拿我来说,我平时做的项目跟计算机图形学有关,然后了解基础知识后,就开始学习OGRE这个开源渲染引擎,同时也会在CSDN博客上关注一些人关于OGRE的文章,个人感觉收获还是很大的。
其实,不管用什么方法,最终起决定作用的无非就是“坚持”二字。
同意楼上的观点,没有驱动的看,结果就只有一个放弃
重代码入口开始,一步一步地走读,就能挖出很多东西
整体-&细节;算法-&实现; 语言特点分析-&项目优势分析;最后当然是你的使用看法和框架的用武之地了。单元测试和doc是很好的工具,当然,一个好的编辑器也能很好的帮助你。
我一般都是从入口文件,死磕的。另外我一直忽略的东西就是,缓存机制。
好像有本书是专门讨论这个问题的,叫《代码的阅读与实践》,里面讲的代码阅读的方法论非常,建议去学习。 代码阅读方法与实践
java的开源项目比较多,比如企业应用lucene,solr,hadoop,偏学术的机器学习mahout,数据挖掘weka,自然语言处理lingpipe,gate,opnenlp等等Sphider 带蜘蛛搜索引擎程序PHP汉化版 展示 spider.php源代码
- 下载整个 - 类型:.php文件
/*******************************************
* Sphider Version 1.3.*
* This program is licensed under the GNU GPL.
* By Ando Saabas& & & & & & & & & ando(a t)cs.ioc.ee
* Thanks to Antoine Bajolet for ideas and
* several code pieces
********************************************/
& & & & set_time_limit (0);
& & & & $include_dir = &../include&;
& & & & include &auth.php&;
& & & & require_once (&$include_dir/commonfuncs.php&);
& & & & $all = 0;
& & & & extract (getHttpVars());
& & & & $settings_dir = &&../settings&;
& & & & require_once (&$settings_dir/conf.php&);
& & & & include &messages.php&;
& & & & include &spiderfuncs.php&;
& & & & error_reporting (E_ALL ^ E_NOTICE ^ E_WARNING);
& & & & $delay_time = 0;
& & & & $command_line = 0;
& & & & if (isset($_SERVER['argv']) && $_SERVER['argc'] &= 2) {
& & & & & & & & $command_line = 1;
& & & & & & & & $ac = 1; //argument counter
& & & & & & & & while ($ac & (count($_SERVER['argv']))) {
& & & & & & & & & & & & $arg = $_SERVER['argv'][$ac];
& & & & & & & & & & & & if ($arg &== '-all') {
& & & & & & & & & & & & & & & & $all = 1;
& & & & & & & & & & & & & & & & break;
& & & & & & & & & & & & } else if ($arg &== '-u') {
& & & & & & & & & & & & & & & & $url = $_SERVER['argv'][$ac+1];
& & & & & & & & & & & & & & & & $ac= $ac+2;
& & & & & & & & & & & & } else if ($arg &== '-f') {
& & & & & & & & & & & & & & & & $soption = 'full';
& & & & & & & & & & & & & & & & $ac++;
& & & & & & & & & & & & } else if ($arg == '-d') {
& & & & & & & & & & & & & & & & $soption = 'level';
& & & & & & & & & & & & & & & & $maxlevel = &$_SERVER['argv'][$ac+1];;
& & & & & & & & & & & & & & & & $ac= $ac+2;
& & & & & & & & & & & & } else if ($arg == '-l') {
& & & & & & & & & & & & & & & & $domaincb = 1;
& & & & & & & & & & & & & & & & $ac++;
& & & & & & & & & & & & } else if ($arg == '-r') {
& & & & & & & & & & & & & & & & $reindex = 1;
& & & & & & & & & & & & & & & & $ac++;
& & & & & & & & & & & & } else if ($arg &== '-m') {
& & & & & & & & & & & & & & & & $in = &str_replace(&\\n&, chr(10), $_SERVER['argv'][$ac+1]);
& & & & & & & & & & & & & & & & $ac= $ac+2;
& & & & & & & & & & & & } else if ($arg &== '-n') {
& & & & & & & & & & & & & & & & $out = &str_replace(&\\n&, chr(10), $_SERVER['argv'][$ac+1]);
& & & & & & & & & & & & & & & & $ac= $ac+2;
& & & & & & & & & & & & } else {
& & & & & & & & & & & & & & & & commandline_help();
& & & & & & & & & & & & & & & & die();
& & & & & & & & & & & & }
& & & & & & & &
& & & & & & & & }
& & & & }
& & & & if (isset($soption) && $soption == 'full') {
& & & & & & & & $maxlevel = -1;
& & & & }
& & & & if (!isset($domaincb)) {
& & & & & & & & $domaincb = 0;
& & & & }
& & & & if(!isset($reindex)) {
& & & & & & & & $reindex=0;
& & & & }
& & & & if(!isset($maxlevel)) {
& & & & & & & & $maxlevel=0;
& & & & }
& & & & if ($keep_log) {
& & & & & & & & if ($log_format==&html&) {
& & & & & & & & & & & & $log_file = &$log_dir.&/&.Date(&ymdHi&).&.html&;
& & & & & & & & } else {
& & & & & & & & & & & & $log_file = &$log_dir.&/&.Date(&ymdHi&).&.log&;
& & & & & & & & }
& & & & & & & &
& & & & & & & & if (!$log_handle = fopen($log_file, 'w')) {
& & & & & & & & & & & & die (&Logging option is set, but cannot open file for logging.&);
& & & & & & & & }
& & & & }
& & & & if ($all == &1) {
& & & & & & & & index_all();
& & & & } else {
& & & & & & & & if ($reindex == 1 && $command_line == 1) {
& & & & & & & & & & & & $result=mysql_query(&select url, spider_depth, required, disallowed, can_leave_domain from &.$mysql_table_prefix.&sites where url='$url'&);
& & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & if($row=mysql_fetch_row($result)) {
& & & & & & & & & & & & & & & & $url = $row[0];
& & & & & & & & & & & & & & & & $maxlevel = $row[1];
& & & & & & & & & & & & & & & & $in= $row[2];
& & & & & & & & & & & & & & & & $out = $row[3];
& & & & & & & & & & & & & & & & $domaincb = $row[4];
& & & & & & & & & & & & & & & & if ($domaincb=='') {
& & & & & & & & & & & & & & & & & & & & $domaincb=0;
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & if ($maxlevel == -1) {
& & & & & & & & & & & & & & & & & & & & $soption = 'full';
& & & & & & & & & & & & & & & & } else {
& & & & & & & & & & & & & & & & & & & & $soption = 'level';
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & }
& & & & & & & & }
& & & & & & & & if (!isset($in)) {
& & & & & & & & & & & & $in = &&;
& & & & & & & & }
& & & & & & & & if (!isset($out)) {
& & & & & & & & & & & & $out = &&;
& & & & & & & & }
& & & & & & & & index_site($url, $reindex, $maxlevel, $soption, $in, $out, $domaincb);
& & & & }
& & & & $tmp_urls &= Array();
& & & & function microtime_float(){
& & & & & &list($usec, $sec) = explode(& &, microtime());
& & & & & &return ((float)$usec + (float)$sec);
& & & & }
& & & & function index_url($url, $level, $site_id, $md5sum, $domain, $indexdate, $sessid, $can_leave_domain, $reindex) {
& & & & & & & & global $entities, $min_delay;
& & & & & & & & global $command_line;
& & & & & & & & global $min_words_per_page;
& & & & & & & & global $supdomain;
& & & & & & & & global $mysql_table_prefix, $user_agent, $tmp_urls, $delay_time, $domain_arr;
& & & & & & & & $needsReindex = 1;
& & & & & & & & $deletable = 0;
& & & & & & & & $url_status = url_status($url);
& & & & & & & & $thislevel = $level - 1;
& & & & & & & & if (strstr($url_status['state'], &Relocation&)) {
& & & & & & & & & & & & $url = eregi_replace(& &, &&, url_purify($url_status['path'], $url, $can_leave_domain));
& & & & & & & & & & & & if ($url && '') {
& & & & & & & & & & & & & & & & $result = mysql_query(&select link from &.$mysql_table_prefix.&temp where link='$url' && id = '$sessid'&);
& & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & $rows = mysql_numrows($result);
& & & & & & & & & & & & & & & & if ($rows == 0) {
& & & & & & & & & & & & & & & & & & & & mysql_query (&insert into &.$mysql_table_prefix.&temp (link, level, id) values ('$url', '$level', '$sessid')&);
& & & & & & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & }
& & & & & & & & & & & & $url_status['state'] == &redirected&;
& & & & & & & & }
& & & & & & & & /*
& & & & & & & & if ($indexdate && '' && $url_status['date'] && '') {
& & & & & & & & & & & & if ($indexdate & $url_status['date']) {
& & & & & & & & & & & & & & & & $url_status['state'] = &Date checked. Page contents not changed&;
& & & & & & & & & & & & & & & & $needsReindex = 0;
& & & & & & & & & & & & }
& & & & & & & & }*/
& & & & & & & & ini_set(&user_agent&, $user_agent);
& & & & & & & & if ($url_status['state'] == 'ok') {
& & & & & & & & & & & & $OKtoIndex = 1;
& & & & & & & & & & & & $file_read_error = 0;
& & & & & & & & & & & &
& & & & & & & & & & & & if (time() - $delay_time & $min_delay) {
& & & & & & & & & & & & & & & & sleep ($min_delay- (time() - $delay_time));
& & & & & & & & & & & & }
& & & & & & & & & & & & $delay_time = time();
& & & & & & & & & & & & if (!fst_lt_snd(phpversion(), &4.3.0&)) {
& & & & & & & & & & & & & & & & $file = file_get_contents($url);
& & & & & & & & & & & & & & & & if ($file === FALSE) {
& & & & & & & & & & & & & & & & & & & & $file_read_error = 1;
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & } else {
& & & & & & & & & & & & & & & & $fl = @fopen($url, &r&);
& & & & & & & & & & & & & & & & if ($fl) {
& & & & & & & & & & & & & & & & & & & & while ($buffer = @fgets($fl, 4096)) {
& & & & & & & & & & & & & & & & & & & & & & & & $file .= $buffer;
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & } else {
& & & & & & & & & & & & & & & & & & & & $file_read_error = 1;
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & fclose ($fl);
& & & & & & & & & & & & }
& & & & & & & & & & & & if ($file_read_error) {
& & & & & & & & & & & & & & & & $contents = getFileContents($url);
& & & & & & & & & & & & & & & & $file = $contents['file'];
& & & & & & & & & & & & }
& & & & & & & & & & & &
& & & & & & & & & & & & $pageSize = number_format(strlen($file)/1024, 2, &.&, &&);
& & & & & & & & & & & & printPageSizeReport($pageSize);
& & & & & & & & & & & & if ($url_status['content'] != 'text') {
& & & & & & & & & & & & & & & & $file = extract_text($file, $url_status['content']);
& & & & & & & & & & & & }
& & & & & & & & & & & & printStandardReport('starting', $command_line);
& & & & & & & &
& & & & & & & & & & & & $newmd5sum = md5($file);
& & & & & & & & & & & &
& & & & & & & & & & & & if ($md5sum == $newmd5sum) {
& & & & & & & & & & & & & & & & printStandardReport('md5notChanged',$command_line);
& & & & & & & & & & & & & & & & $OKtoIndex = 0;
& & & & & & & & & & & & } else if (isDuplicateMD5($newmd5sum)) {
& & & & & & & & & & & & & & & & $OKtoIndex = 0;
& & & & & & & & & & & & & & & & printStandardReport('duplicate',$command_line);
& & & & & & & & & & & & }
& & & & & & & & & & & & if (($md5sum != $newmd5sum || $reindex ==1) && $OKtoIndex == 1) {
& & & & & & & & & & & & & & & & $urlparts = parse_url($url);
& & & & & & & & & & & & & & & & $newdomain = $urlparts['host'];
& & & & & & & & & & & & & & & & $type = 0;
& & & & & & & & & & & & & & & &
& & & & & & & & /*& & & & & & & if ($newdomain && $domain)
& & & & & & & & & & & & & & & & & & & & $domainChanged = 1;
& & & & & & & & & & & & & & & & if ($domaincb==1) {
& & & & & & & & & & & & & & & & & & & & $start = strlen($newdomain) - strlen($supdomain);
& & & & & & & & & & & & & & & & & & & & if (substr($newdomain, $start) == $supdomain) {
& & & & & & & & & & & & & & & & & & & & & & & & $domainChanged = 0;
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & }*/
& & & & & & & & & & & & & & & & // remove link to css file
& & & & & & & & & & & & & & & & //get all links from file
& & & & & & & & & & & & & & & & $data = clean_file($file, $url, $url_status['content']);
& & & & & & & & & & & & & & & & if ($data['noindex'] == 1) {
& & & & & & & & & & & & & & & & & & & & $OKtoIndex = 0;
& & & & & & & & & & & & & & & & & & & & $deletable = 1;
& & & & & & & & & & & & & & & & & & & & printStandardReport('metaNoindex',$command_line);
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & $wordarray = unique_array(explode(& &, $data['content']));
& & & & & & & & & & & & & & & & if ($data['nofollow'] != 1) {
& & & & & & & & & & & & & & & & & & & & $links = get_links($file, $url, $can_leave_domain, $data['base']);
& & & & & & & & & & & & & & & & & & & & $links = distinct_array($links);
& & & & & & & & & & & & & & & & & & & & $all_links = count($links);
& & & & & & & & & & & & & & & & & & & & $numoflinks = 0;
& & & & & & & & & & & & & & & & & & & & //if there are any, add to the temp table, but only if there isnt such url already
& & & & & & & & & & & & & & & & & & & & if (is_array($links)) {
& & & & & & & & & & & & & & & & & & & & & & & & reset ($links);
& & & & & & & & & & & & & & & & & & & & & & & & while ($thislink = each($links)) {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & if ($tmp_urls[$thislink[1]] != 1) {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & $tmp_urls[$thislink[1]] = 1;
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & $numoflinks++;
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & mysql_query (&insert into &.$mysql_table_prefix.&temp (link, level, id) values ('$thislink[1]', '$level', '$sessid')&);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & } else {
& & & & & & & & & & & & & & & & & & & & printStandardReport('noFollow',$command_line);
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & if ($OKtoIndex == 1) {
& & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & $title = $data['title'];
& & & & & & & & & & & & & & & & & & & & $host = $data['host'];
& & & & & & & & & & & & & & & & & & & & $path = $data['path'];
& & & & & & & & & & & & & & & & & & & & $fulltxt = $data['fulltext'];
& & & & & & & & & & & & & & & & & & & & $desc = substr($data['description'], 0,254);
& & & & & & & & & & & & & & & & & & & & $url_parts = parse_url($url);
& & & & & & & & & & & & & & & & & & & & $domain_for_db = $url_parts['host'];
& & & & & & & & & & & & & & & & & & & & if (isset($domain_arr[$domain_for_db])) {
& & & & & & & & & & & & & & & & & & & & & & & & $dom_id = $domain_arr[$domain_for_db];
& & & & & & & & & & & & & & & & & & & & } else {
& & & & & & & & & & & & & & & & & & & & & & & & mysql_query(&insert into &.$mysql_table_prefix.&domains (domain) values ('$domain_for_db')&);
& & & & & & & & & & & & & & & & & & & & & & & & $dom_id = mysql_insert_id();
& & & & & & & & & & & & & & & & & & & & & & & & $domain_arr[$domain_for_db] = $dom_id;
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & $wordarray = calc_weights ($wordarray, $title, $host, $path, $data['keywords']);
& & & & & & & & & & & & & & & & & & & & //if there are words to index, add the link to the database, get its id, and add the word + their relation
& & & & & & & & & & & & & & & & & & & & if (is_array($wordarray) && count($wordarray) & $min_words_per_page) {
& & & & & & & & & & & & & & & & & & & & & & & & if ($md5sum == '') {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & mysql_query (&insert into &.$mysql_table_prefix.&links (site_id, url, title, description, fulltxt, indexdate, size, md5sum, level) values ('$site_id', '$url', '$title', '$desc', '$fulltxt', curdate(), '$pageSize', '$newmd5sum', $thislevel)&);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & & & & & & & & & & & & & $result = mysql_query(&select link_id from &.$mysql_table_prefix.&links where url='$url'&);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & & & & & & & & & & & & & $row = mysql_fetch_row($result);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & $link_id = $row[0];
& & & & & & & & & & & & & & & & & & & & & & & & & & & & save_keywords($wordarray, $link_id, $dom_id);
& & & & & & & & & & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & & & & & & & & & printStandardReport('indexed', $command_line);
& & & & & & & & & & & & & & & & & & & & & & & & }else if (($md5sum && '') && ($md5sum && $newmd5sum)) { //if page has changed, start updating
& & & & & & & & & & & & & & & & & & & & & & & & & & & & $result = mysql_query(&select link_id from &.$mysql_table_prefix.&links where url='$url'&);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & & & & & & & & & & & & & $row = mysql_fetch_row($result);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & $link_id = $row[0];
& & & & & & & & & & & & & & & & & & & & & & & & & & & & for ($i=0;$i&=15; $i++) {
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & $char = dechex($i);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & mysql_query (&delete from &.$mysql_table_prefix.&link_keyword$char where link_id=$link_id&);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & & & & & & & & & save_keywords($wordarray, $link_id, $dom_id);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & $query = &update &.$mysql_table_prefix.&links set title='$title', description ='$desc', fulltxt = '$fulltxt', indexdate=now(), size = '$pageSize', md5sum='$newmd5sum', level=$thislevel where link_id=$link_id&;
& & & & & & & & & & & & & & & & & & & & & & & & & & & & mysql_query($query);
& & & & & & & & & & & & & & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & & & & & & & & & & & & & printStandardReport('re-indexed', $command_line);
& & & & & & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & }else {
& & & & & & & & & & & & & & & & & & & & & & & & printStandardReport('minWords', $command_line);
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & }
& & & & & & & & } else {
& & & & & & & & & & & & $deletable = 1;
& & & & & & & & & & & & printUrlStatus($url_status['state'], $command_line);
& & & & & & & & }
& & & & & & & & if ($reindex ==1 && $deletable == 1) {
& & & & & & & & & & & & check_for_removal($url);
& & & & & & & & } else if ($reindex == 1) {
& & & & & & & & & & & &
& & & & & & & & }
& & & & & & & & if (!isset($all_links)) {
& & & & & & & & & & & & $all_links = 0;
& & & & & & & & }
& & & & & & & & if (!isset($numoflinks)) {
& & & & & & & & & & & & $numoflinks = 0;
& & & & & & & & }
& & & & & & & & printLinksReport($numoflinks, $all_links, $command_line);
& & & & }
& & & & function index_site($url, $reindex, $maxlevel, $soption, $url_inc, $url_not_inc, $can_leave_domain) {
& & & & & & & & global $mysql_table_prefix, $command_line, $mainurl, &$tmp_urls, $domain_arr, $all_keywords;
& & & & & & & & if (!isset($all_keywords)) {
& & & & & & & & & & & & $result = mysql_query(&select keyword_ID, keyword from &.$mysql_table_prefix.&keywords&);
& & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & while($row=mysql_fetch_array($result)) {
& & & & & & & & & & & & & & & & $all_keywords[addslashes($row[1])] = $row[0];
& & & & & & & & & & & & }
& & & & & & & & }
& & & & & & & & $compurl = parse_url($url);
& & & & & & & & if ($compurl['path'] == '')
& & & & & & & & & & & & $url = $url . &/&;
& & & & & & & & $t = microtime();
& & & & & & & & $a = &getenv(&REMOTE_ADDR&);
& & & & & & & & $sessid = md5 ($t.$a);
& & & & & & & & $urlparts = parse_url($url);
& & & & & & & & $domain = $urlparts['host'];
& & & & & & & & if (isset($urlparts['port'])) {
& & & & & & & & & & & & $port = (int)$urlparts['port'];
& & & & & & & & }else {
& & & & & & & & & & & & $port = 80;
& & & & & & & & }
& & & & & & & &
& & & & & & & & $result = mysql_query(&select site_id from &.$mysql_table_prefix.&sites where url='$url'&);
& & & & & & & & echo mysql_error();
& & & & & & & & $row = mysql_fetch_row($result);
& & & & & & & & $site_id = $row[0];
& & & & & & & &
& & & & & & & & if ($site_id != && && $reindex == 1) {
& & & & & & & & & & & & mysql_query (&insert into &.$mysql_table_prefix.&temp (link, level, id) values ('$url', 0, '$sessid')&);
& & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & $result = mysql_query(&select url, level from &.$mysql_table_prefix.&links where site_id = $site_id&);
& & & & & & & & & & & & while ($row = mysql_fetch_array($result)) {
& & & & & & & & & & & & & & & & $site_link = $row['url'];
& & & & & & & & & & & & & & & & $link_level = $row['level'];
& & & & & & & & & & & & & & & & if ($site_link != $url) {
& & & & & & & & & & & & & & & & & & & & mysql_query (&insert into &.$mysql_table_prefix.&temp (link, level, id) values ('$site_link', $link_level, '$sessid')&);
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & }
& & & & & & & & & & & &
& & & & & & & & & & & & $qry = &update &.$mysql_table_prefix.&sites set indexdate=now(), spider_depth = $maxlevel, required = '$url_inc',& .
& & & & & & & & & & & & & & & & & & & & &disallowed = '$url_not_inc', can_leave_domain=$can_leave_domain where site_id=$site_id&;
& & & & & & & & & & & & mysql_query ($qry);
& & & & & & & & & & & & echo mysql_error();
& & & & & & & & } else if ($site_id == '') {
& & & & & & & & & & & & mysql_query (&insert into &.$mysql_table_prefix.&sites (url, indexdate, spider_depth, required, disallowed, can_leave_domain) & .
& & & & & & & & & & & & & & & & & & & & &values ('$url', now(), $maxlevel, '$url_inc', '$url_not_inc', $can_leave_domain)&);
& & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & $result = mysql_query(&select site_ID from &.$mysql_table_prefix.&sites where url='$url'&);
& & & & & & & & & & & & $row = mysql_fetch_row($result);
& & & & & & & & & & & & $site_id = $row[0];
& & & & & & & & } else {
& & & & & & & & & & & & mysql_query (&update &.$mysql_table_prefix.&sites set indexdate=now(), spider_depth = $maxlevel, required = '$url_inc',& .
& & & & & & & & & & & & & & & & & & & & &disallowed = '$url_not_inc', can_leave_domain=$can_leave_domain where site_id=$site_id&);
& & & & & & & & & & & & echo mysql_error();
& & & & & & & & }
& & & & & & & & $result = mysql_query(&select site_id, temp_id, level, count, num from &.$mysql_table_prefix.&pending where site_id='$site_id'&);
& & & & & & & & echo mysql_error();
& & & & & & & & $row = mysql_fetch_row($result);
& & & & & & & & $pending = $row[0];
& & & & & & & & $level = 0;
& & & & & & & & $domain_arr = get_domains();
& & & & & & & & if ($pending == '') {
& & & & & & & & & & & & mysql_query (&insert into &.$mysql_table_prefix.&temp (link, level, id) values ('$url', 0, '$sessid')&);
& & & & & & & & & & & & echo mysql_error();
& & & & & & & & } else if ($pending != '') {
& & & & & & & & & & & & printStandardReport('continueSuspended',$command_line);
& & & & & & & & & & & & mysql_query(&select temp_id, level, count from &.$mysql_table_prefix.&pending where site_id='$site_id'&);
& & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & $sessid = $row[1];
& & & & & & & & & & & & $level = $row[2];
& & & & & & & & & & & & $pend_count = $row[3] + 1;
& & & & & & & & & & & & $num = $row[4];
& & & & & & & & & & & & $pending = 1;
& & & & & & & & & & & & $tmp_urls = get_temp_urls($sessid);
& & & & & & & & }
& & & & & & & & if ($reindex != 1) {
& & & & & & & & & & & & mysql_query (&insert into &.$mysql_table_prefix.&pending (site_id, temp_id, level, count) values ('$site_id', '$sessid', '0', '0')&);
& & & & & & & & & & & & echo mysql_error();
& & & & & & & & }
& & & & & & & & $time = time();
& & & & & & & & $omit = check_robot_txt($url);
& & & & & & & & printHeader ($omit, $url, $command_line);
& & & & & & & & $mainurl = $url;
& & & & & & & & $num = 0;
& & & & & & & & while (($level &= $maxlevel && $soption == 'level') || ($soption == 'full')) {
& & & & & & & & & & & & if ($pending == 1) {
& & & & & & & & & & & & & & & & $count = $pend_count;
& & & & & & & & & & & & & & & & $pending = 0;
& & & & & & & & & & & & } else
& & & & & & & & & & & & & & & & $count = 0;
& & & & & & & & & & & & $links = array();
& & & & & & & & & & & & $result = mysql_query(&select distinct link from &.$mysql_table_prefix.&temp where level=$level && id='$sessid' order by link&);
& & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & $rows = mysql_num_rows($result);
& & & & & & & & & & & & if ($rows == 0) {
& & & & & & & & & & & & & & & & break;
& & & & & & & & & & & & }
& & & & & & & & & & & & $i = 0;
& & & & & & & & & & & & while ($row = mysql_fetch_array($result)) {
& & & & & & & & & & & & & & & & $links[] = $row['link'];
& & & & & & & & & & & & }
& & & & & & & & & & & & reset ($links);
& & & & & & & & & & & & while ($count & count($links)) {
& & & & & & & & & & & & & & & & $num++;
& & & & & & & & & & & & & & & & $thislink = $links[$count];
& & & & & & & & & & & & & & & & $urlparts = parse_url($thislink);
& & & & & & & & & & & & & & & & reset ($omit);
& & & & & & & & & & & & & & & & $forbidden = 0;
& & & & & & & & & & & & & & & & foreach ($omit as $omiturl) {
& & & & & & & & & & & & & & & & & & & & $omiturl = trim($omiturl);
& & & & & & & & & & & & & & & & & & & & $omiturl_parts = parse_url($omiturl);
& & & & & & & & & & & & & & & & & & & & if ($omiturl_parts['scheme'] == '') {
& & & & & & & & & & & & & & & & & & & & & & & & $check_omit = $urlparts['host'] . $omiturl;
& & & & & & & & & & & & & & & & & & & & } else {
& & & & & & & & & & & & & & & & & & & & & & & & $check_omit = $omiturl;
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & & & & & if (strpos($thislink, $check_omit)) {
& & & & & & & & & & & & & & & & & & & & & & & & printRobotsReport($num, $thislink, $command_line);
& & & & & & & & & & & & & & & & & & & & & & & & check_for_removal($thislink);
& & & & & & & & & & & & & & & & & & & & & & & & $forbidden = 1;
& & & & & & & & & & & & & & & & & & & & & & & & break;
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & if (!check_include($thislink, $url_inc, $url_not_inc )) {
& & & & & & & & & & & & & & & & & & & & printUrlStringReport($num, $thislink, $command_line);
& & & & & & & & & & & & & & & & & & & & check_for_removal($thislink);
& & & & & & & & & & & & & & & & & & & & $forbidden = 1;
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & if ($forbidden == 0) {
& & & & & & & & & & & & & & & & & & & & printRetrieving($num, $thislink, $command_line);
& & & & & & & & & & & & & & & & & & & & $query = &select md5sum, indexdate from &.$mysql_table_prefix.&links where url='$thislink'&;
& & & & & & & & & & & & & & & & & & & & $result = mysql_query($query);
& & & & & & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & & & & & $rows = mysql_num_rows($result);
& & & & & & & & & & & & & & & & & & & & if ($rows == 0) {
& & & & & & & & & & & & & & & & & & & & & & & & index_url($thislink, $level+1, $site_id, '', &$domain, '', $sessid, $can_leave_domain, $reindex);
& & & & & & & & & & & & & & & & & & & & & & & & mysql_query(&update &.$mysql_table_prefix.&pending set level = $level, count=$count, num=$num where site_id=$site_id&);
& & & & & & & & & & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & & & & & }else if ($rows && 0 && $reindex == 1) {
& & & & & & & & & & & & & & & & & & & & & & & & $row = mysql_fetch_array($result);
& & & & & & & & & & & & & & & & & & & & & & & & $md5sum = $row['md5sum'];
& & & & & & & & & & & & & & & & & & & & & & & & $indexdate = $row['indexdate'];
& & & & & & & & & & & & & & & & & & & & & & & & index_url($thislink, $level+1, $site_id, $md5sum, &$domain, $indexdate, $sessid, $can_leave_domain, $reindex);
& & & & & & & & & & & & & & & & & & & & & & & & mysql_query(&update &.$mysql_table_prefix.&pending set level = $level, count=$count, num=$num where site_id=$site_id&);
& & & & & & & & & & & & & & & & & & & & & & & & echo mysql_error();
& & & & & & & & & & & & & & & & & & & & }else {
& & & & & & & & & & & & & & & & & & & & & & & & printStandardReport('inDatabase',$command_line);
& & & & & & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & }
& & & & & & & & & & & & & & & & $count++;
& & & & & & & & & & & & }
& & & & & & & & & & & & $level++;
& & & & & & & & }
& & & & & & & & mysql_query (&delete from &.$mysql_table_prefix.&temp where id = '$sessid'&);
& & & & & & & & echo mysql_error();
& & & & & & & & mysql_query (&delete from &.$mysql_table_prefix.&pending where site_id = '$site_id'&);
& & & & & & & & echo mysql_error();
& & & & & & & & printStandardReport('completed',$command_line);
& & & & }
& & & & function index_all() {
& & & & & & & & global $mysql_table_prefix;
& & & & & & & & $result=mysql_query(&select url, spider_depth, required, disallowed, can_leave_domain from &.$mysql_table_prefix.&sites&);
& & & & & & & & echo mysql_error();
& & & & while ($row=mysql_fetch_row($result)) {
& & & & & & & & $url = $row[0];
& & & & & & & & & & & & $depth = $row[1];
& & & & & & & & $include = $row[2];
& & & & & & & & $not_include = $row[3];
& & & & & & & & $can_leave_domain = $row[4];
& & & & & & & & if ($can_leave_domain=='') {
& & & & & & & & & & & & $can_leave_domain=0;
& & & & & & & & }
& & & & & & & & if ($depth == -1) {
& & & & & & & & & & & & $soption = 'full';
& & & & & & & & } else {
& & & & & & & & & & & & $soption = 'level';
& & & & & & & & }
& & & & & & & & & & & & index_site($url, 1, $depth, $soption, $include, $not_include, $can_leave_domain);
& & & & & & & & }
& & & & } & & & & & & & & & & &
& & & & function get_temp_urls ($sessid) {
& & & & & & & & global $mysql_table_prefix;
& & & & & & & & $result = mysql_query(&select link from &.$mysql_table_prefix.&temp where id='$sessid'&);
& & & & & & & & echo mysql_error();
& & & & & & & & $tmp_urls = Array();
& & & & while ($row=mysql_fetch_row($result)) {
& & & & & & & & & & & & $tmp_urls[$row[0]] = 1;
& & & & & & & & }
& & & & & & & & return $tmp_urls;
& & & & & & & & & & & &
& & & & }
& & & & function get_domains () {
& & & & & & & & global $mysql_table_prefix;
& & & & & & & & $result = mysql_query(&select domain_id, domain from &.$mysql_table_prefix.&domains&);
& & & & & & & & echo mysql_error();
& & & & & & & & $domains = Array();
& & & & while ($row=mysql_fetch_row($result)) {
& & & & & & & & & & & & $domains[$row[1]] = $row[0];
& & & & & & & & }
& & & & & & & & return $domains;
& & & & & & & & & & & &
& & & & }
& & & & function commandline_help() {
& & & & & & & & print &Usage: php spider.php &options&\n\n&;
& & & & & & & & print &Options:\n&;
& & & & & & & & print & -all\t\t Reindex everything in the database\n&;
& & & & & & & & print & -u &url&\t Set url to index\n&;
& & & & & & & & print & -f\t\t Set indexing depth to full (unlimited depth)\n&;
& & & & & & & & print & -d &num&\t Set indexing depth to &num&\n&;
& & & & & & & & print & -l\t\t Allow spider to leave the initial domain\n&;
& & & & & & & & print & -r\t\t Set spider to reindex a site\n&;
& & & & & & & & print & -m &string&\t Set the string(s) that an url must include (use \\n as a delimiter between multiple strings)\n&;
& & & & & & & & print & -n &string&\t Set the string(s) that an url must not include (use \\n as a delimiter between multiple strings)\n&;
& & & & }
& & & & printStandardReport('quit',$command_line);
& & & & if ($email_log) {
& & & & & & & & $indexed = ($all==1) ? 'ALL' : $url;
& & & & & & & & $log_report = &&;
& & & & & & & & if ($log_handle) {
& & & & & & & & & & & & $log_report = &Log saved into $log_file&;
& & & & & & & & }
& & & & & & & & mail($admin_email, &Sphider indexing report&, &Sphider has finished indexing $indexed at &.date(&y-m-d H:i:s&).&. &.$log_report);
& & & & }
& & & & if ( $log_handle) {
& & & & & & & & fclose($log_handle);
& & & & }
- 下载整个
相关源码/软件:
- Google Voice 带群发的PHP版短信发送接口,如果一次发送较多,请使用英文逗号隔离开,所需...
- vanilla 论坛的中国用户语言包,关于vanilla论坛,全称vanilla Forum,来自国...
- 本程序由原有的网络程序修改而来,目前程序是基于PHP+TXT的,没有使用数据库,直接将数据存储在TX...
- PHP版的天气预报小偷程序,适时获取某地当天和近五天的天气情况、空气指数、紫外线强度等。本程序属采集...
- BBPress 论坛v1.02中文语言包,BBPress让你有一个小巧,快速的社区论坛系统,如果你不...
- 中和网企业网站系统基于PHP+MySQL运行环境,适合公司、厂矿等中小型企业做了企业形象站、产品展示...
- Fetion就一个支持群发的中国移动飞信好友免费短信的API接口,支持以POST或GET方式提交数据...
- 一个支持 Discuz! 7.1的论坛动态和提醒功能,方便用户帖内回复和查看消息,比Discuz自带...
- PHPK留言许愿墙,功能及风格类似QQ爱墙,页面符合DIV+CSS标准,代码简洁,无冗余垃圾功能,登...
- 阿西网络广告家园,程序基于PHP+MYSQL,从测试看,这好像是一个个人的广告管理系统,登录后四个小...
- 网新中英繁CMS,程序内置红、蓝、绿3套模版,解压后请将整个程序所有文件复制到本地电脑IIS根目录下...
- 无忧中英繁企业网站专业版,本地IIS环境有些功能不能支持,建议在线测试请将整个程序包上传到空间根目录...
- XYCMS物流运输公司建站系统更新说明: 后台编辑器兼容性BUG & XYCMS物流运输公...
- 千博企业网站管理系统开源版 v更新日志:
修正系统参数设置中一处错误
- 网展中英外贸网站蓝色风格V2.1 更新日志:
新增外贸公司特色客服编辑功能。
- 网络版的投票评选在活动中的方便性和重要性,系统定位于投票评选行业的量身开发,打造行业的领先服务评选品...
- 无忧中英繁企业网站V更新日志:
增加LOGO个性化编辑,修改顶部页面界面效果。
- XYCMS画室培训机构源码系统栏目功能介绍 学校信息管理:包括基本信息管理,添加,在线报名信息管理,...
- 智睿企业网站管理系统具有强大的系统功能,支持中繁任意切换,拥有文章/新闻、图片/产品、资源下载、人才...
- 中国嘉洲服务器动态展示页带后台网站程序脚本:asp+access
本地调试可以用小型ASP服务器来...

我要回帖

更多关于 java开源代码 的文章

 

随机推荐