600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 遍历FTP下目录和文件生成数据库–可以做小规模的FTP搜索引擎【PHP】

遍历FTP下目录和文件生成数据库–可以做小规模的FTP搜索引擎【PHP】

时间:2020-05-01 21:32:44

相关推荐

遍历FTP下目录和文件生成数据库–可以做小规模的FTP搜索引擎【PHP】

后端开发|php教程

,可以,搜索引擎,数据库,生成,目录,文件,resul

后端开发-php教程

P><?

//ftp信息

$ftp_server=”xxxxxxxxxxx”; //FTP服务器的地址

$username=”xxx”; //要查询目录

$userpassword=”xxxxxx”;//相映的密码

//数据库信息

$localhost=”localhost”; //一般是localhost

$datauser=”xxx”; //数据库用户名

$datapassword=”xxxxx”; //数据库用户密码

$database=”xxxxx”; //数据库名称

在线聊天平台源码,ubuntu加载空闲硬盘,角蛙爬虫喂食,pogoplug php,沈阳seo方法lzw

//数据表建立信息 realfly是表名

// CREATE TABLE realfly (

// name text NOT NULL,

// id tinyint(4) unsigned NOT NULL auto_increment,

// date date DEFAULT ‘0000-00-00’ NOT NULL,

// time time DEFAULT ’00:00:00′ NOT NULL,

// content longtext NOT NULL,

// KEY id (id)

// );

个人博客源码模板,vscode插件怎么设置,ubuntu pid占用,tomcat访问ip限制,headless爬虫,php 时间差 date,任城seo优化排名,asp企业网站系统,帝国会员登陆模板lzw

?>

中秋快乐网站php源码,vscode的下载步骤,ubuntu收集隐私,tomcat登录查看,软件连接sqlite3,可以不学前端直接学框架么,爬虫能爬网页的信息吗,网页游戏 php源码,合肥seo优化加盟,牛商网网站后台,网页生成二维码图片源码,个人网站模板儿童lzw

<?

###################################################

#程序: FTP搜索引擎递归函数文件 #

#文件: class.php#

#姓名: 网络骑士#

#所用技术: php&mysql #

#版本: v1.0#

#联系: shakespareshmily@#

###################################################

function happy($ftp_stream,$directory,$link)

{

if(is_dir($directory))

{

//$today=(date(“Y”).”-“.date(“m”).”-“.date(“d”));

//$content=$directory;

//$time=date(“H:i:s”);

//$query=”INSERT INTO realfly VALUES (‘, ‘, ‘$today’, ‘$time’, ‘$content’);”;

//mysql_query($query,$link);

//$color=”FF3399″;

//echo “”.$directory.”

“;

$result=ftp_nlist($ftp_stream,$directory);

for ($j=0;$j<=count($result);$j++){

happy($ftp_stream,$result[$j],$link);

}

}

else {

$basename=basename($directory);

$file=explode(“.”,$basename);

$id=$i++;

$today=(date(“Y”).”-“.date(“m”).”-“.date(“d”));

$content=$directory;

//$content4=$directory;

$time=date(“H:i:s”);

$query=”INSERT INTO realfly VALUES (‘$file[0]’, ‘$id’, ‘$today’, ‘$time’, ‘$content’);”;

mysql_query($query,$link);

echo $directory.”

“;

}

}

?>

<?

include (“./search_ini.php”);

include (“./class.php”);

###################################################

#程序: FTP搜索引擎主文件#

#文件: search.php #

#姓名: 网络骑士#

#所用技术: php&mysql #

#版本: v1.0 #

#联系: shakespareshmily@#

###################################################

$ftp_stream=ftp_connect($ftp_server,21);

$login=ftp_login($ftp_stream,”$username”,”$userpassword”);

if(!$login||!$ftp_stream){

echo “cannot connect to $ftp_server”;

echo “try again”;

}

else

{

echo “connect to $ftp_server

CONGRATULATIONS!

“;

}

$link=mysql_pconnect(“$localhost”,”$datauser”,”$datapassword”);

mysql_select_db(“$database”,$link);

$this=ftp_pwd($ftp_stream);

$this=@ftp_chdir($ftp_stream,””);

$result=ftp_nlist($ftp_stream,$this);

for ($i=0;$i<=count($result);$i++)

{

if (is_dir($result[$i]))

{

happy($ftp_stream,$result[$i],$link);

}

else {echo $result[$i].”

“;

$basename=basename($result[$i]);

$file=explode(“.”,$basename);

$id=$i;

$today=(date(“Y”).”-“.date(“m”).”-“.date(“d”));

$content=”$result[$i]”;

$time=date(“H:i:s”);

$query=”INSERT INTO realfly VALUES ( ‘$file[0]’, ‘$id’, ‘$today’, ‘$time’, ‘$content’);”;

mysql_query($query,$link);

}

}

?>

以上是后台的搜索处理程序,下面是用户查询处理程序

<?

###########################################

#软件名:FTP搜索引擎显示页面 #

#版本: v1.0#

#所用技术: php&mysql #

#作者: 网络骑士 #

#联系方式: shakespareshmily@#

###########################################

include (“./search_ini.php”);

//connect to database

$link=mysql_pconnect(“$localhost”,”$datauser”,”$datapassword”) or die (“无法连接服务器,请稍后再试!”);

//select database

mysql_select_db(“$database”,$link);

//make query

$query=”select name,content from realfly where name=’$query1′ “;

echo “您所查询的字段: “; echo “$query1.

“;

$i=0;

$result=mysql_query($query,$link);

if($result)

{while(list($name,$content)=mysql_fetch_row($result))

{ echo “您所能查询到的结果:“;

$content3=”ftp://xxxxxxxx”; //你的FTP站点名称

$content2=stristr($directory,”/var/ftp”);

$content=$content3.$content2;

echo “$content

“;

$i++;

} }

if($i==0)

{ $color=”FF3399″;

echo “真是太神奇了,居然没有找到,呵呵~~,再试试!

“;}

else echo “恭喜,您要查找的东东找到了,赶快下载吧!.

“;

?>

需要说明的几点:

1:产生背景:由于我们站长让我做一个类似北大天网那样的FTP搜索的东西,以方便校内想下载软件而又一时半会儿找不到相映目录的网友,所以它就产生了。当然它的搜索能力远不如天网强大,而且它也不是真正意义上的搜索引擎,但是却可以完成FTP目录下遍历的功能(如果你的目录不是太深—–它可以处理到18层目录)

2:以上程序必须放在你所要搜索的目录下面才可以用—-原因是权限问题

3:存在的问题

a:如果处理的文件目录太深(比如30层,虽然很少人这么做,但是它处理起来就会跳过太深的目录—-原因是服务器关于命令运行时间的限制)——-偶已经想到了解决的方法(理论阶段,由于现在忙于应付CPA的考试,所以没有实施)——即模仿flashget等的多线程下载的方式。得到当前目录下的文件,文件夹同时生成数组对每个文件夹逐个进行搜索或者同时进行搜索

b:有时候会出现这种情况,即:父目录的名字和子目录的相同,这时候会跳过这个父目录—–这个问题容易解决但是会加大处理的任务,加之最近没有时间改进,所以一直放置着^-^

浅妄薄见,望与斟酌

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。