i理工 南京理工大学:ftp如何实现自动下载?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 19:24:19
最近做报表,每天要从服务器多个目录按文件产生时间下载大量的文件,非常浪费时间,请问有没有可以按文件产生时间自动下载的ftp软件?或者哪位编程高手又办法实现?本人略懂VB,C和ASP。好答案另多加分
我想要的是自动下载的,特别是能识别FTP服务器上文件产生日期的,普通的FTP软件也就算了

CuteFTP
下载:http://www.mydown.com/soft/29/29512.html
汉化:http://www.mydown.com/soft/202/202959.html
使用方法
双击桌面上的CuteFTP快捷图标,启动CuteFTP程序。第一卧诵谢嶙远??鲵TP Site Manager(FTP网站管理者)的对话框,如图1所示,后面再详细介绍。先点“Exit”退出。回到主程序界面进行必要的设置。
程序主界面
主界面分为四个主要部分,如图2所示。
1.命令区域(工具栏和菜单):这是FTP站对使用者显示的信息区,由这里可了解到该站信息,是否支持续传,正在传送什么文件,是否已经断线等当前连接状况。
常用的CuteFTP功能按钮(如图3所示)介绍如下:
A:Site Manager--调用FTP Site Manager;
B:Quick Connect--快速连接。对于一个新的FTP站,可以连上看看,如符合需要,点击Session / Add to database,取一个站名,便可将它加入 “FTP Site Manager”中进行详细编辑设置;
C:Disconnect--中断连接;
D:Reconnect--重新连接;
E:Upload--上传文件;
F:Download--下载文件;
G:Short Directory Listing--只列出文件及目录名称;
H:Long Directory Listing--完整列出文件及目录的详细资料,这样可以在传完文件后,比较本地硬盘的文件大小与FTP站上的文件大小是否一致。如果不一致,则要续传完整才行;
I、J、K:批处理功能组合键; L:View--检视功能,只是用于文本文件;
M:Execute--执行文件。但不要轻易对FTP站中的文件进行执行操作,这样会影响速度。 N:Edit--编辑远程区域中的文件;
O:Rename Files--对文件重新命名;
P:Make new directory--建立新目录;
Q:Refresh--刷新。重新整理当前目录中的文件,在比较文件大小前,最好先刷新一下;
R:Stop--立即中断文件传输。
2.本地区域(本地硬盘):显示本地计算机的硬盘中要上传(Upload)或下载(Download)的所在目录及相关文件。
3.远程区域(远端服务器):显示FTP站的内容。
4.批处理、记录区域:观看文件传输的进程。可先把本地或远程区域中的需要文件拖到这个窗口中,再决定是否传输。

设 置 篇

选择下拉菜单的FTP项,选Settings / Options,出现一个有五个标签的对话框。
1.“General”标签(如图4所示):
Mail Address:填入你的E-mail账号,用作匿名登录FTP站时的password。
Default Download Directory:预设下载文件存放目录,如单独创建一个目录,会便于整理。
Text Files Viewer:文本文件的检视工具。默认打开程序为“记事本”,也可以点击右边的“…”按钮,选择其他文本编辑软件。
Log File:记录传送文件的过程资料。
Max safe index size:Index是指站点说明文件。这里设定index文件大小如果超过指定KB(预设10KB),即询问是否下载。
Default Retry:设定如果因为FTP站忙而没接上,程序会自动连接n次,预设值为20。 Start:启动CuteFTP后使用哪种模式。预设为Site Manager(建议使用模式);
Quick Connect为快速连接;Nothing是直接进入CuteFTP的主程序工作窗口。
2.“Advanced”标签(如图5所示)。
Double-click Action:设定双击鼠标左键执行什么命令。预设为Transfer,即开始传输文件(建议);
Execute是执行文件(最好别用,除非你很有把握不会出错);View是查看文件,只对文本文件有效;Nothing是什么都不执行。
“Receive”和“Sand”是指接收缓冲区和传送缓冲区的大小。如果在传输文件时非常缓慢,不妨试试把两项都加大到16000。
3.“Display”标签(如图6所示)。
Tool Bar: 选择“Big Buttons”会使用大的功能键,这样看上去会醒目很多,不容易点错,这项功能很体贴常在网上泡得头晕眼花的虫虫们。
Customize:可以像Office97一样任意增减功能键,排列成自己习惯的菜单。 Select Font:设定显示字形的样式及大小。
Colors:显示讯息及字形颜色。 Reset to defaults:恢复默认的设定值。
4.“Prompts”和“Firewall”标签(如图7、图8所示): 关于操作提示和防火墙的设定,普通用户使用预设值就行了。

使 用 篇

单击按钮,开启FTP Site Manager。CuteFTP收集了很多著名的FTP站点地址,用鼠标在“Anonymous FTP Sites”文件夹中选择你想连接的站点,单击“Connect”即可连接了。如果想新增一个FTP站点,则单击“Add Site”,会弹出如图9所示的对话框。
1.Site Label:任意填写站名,它起到一个标题作用。如填上笔者的“红帆船电脑网络工作室”。
2.Host Address:填入FTP服务器的IP地址或域名,例如免费主页在太阳城,就要填上它的IP地址:202.98.35.14。注意不要用ftp://或http://开头。
3.User ID:填写你的用户名,Password中填写密码。
4.Login type(登录类型):选择“Normal”(正常)。很多公用的FTP网站,选用“anonymous”(匿名)登录,用自己的信箱账号当password即可。
5.Initial Remote Directory:填上你想登录FTP服务器后直接进入那级目录,如果上传个人主页,一般是用“\你的用户名”路径;Initial Local Directory:填上你想传输的文件在自己硬盘中的目录,当然不填也可以。
6.Transfer type:文件上传模式设定。 FTP可以用多种格式传输文件,常用的是文本模式和二进制模式。文本传输使用ASCII字符,而二进制则无须转换或格式化即可传输字符,因此比文本模式更快,并且可以传输所有ASCII值。要注意确保使用正确的传输模式传输文件,按文本模式传二进制文件将会导致错误。一般我们选“Auto-Detect”即可,它会自行检测文件类型并使用最适合的上传方式。
7.点击“确认”,程序回到图10的界面,此时“红帆船电脑网络工作室”已经出现在右边的框中。选择此标题,单击“Connect”,即可连入服务器(前提当然是你的电脑处于在线状态,如果不在线,CuteFTP会自动调用联接上网的程序)。远端服务器“验身”之后,弹出对话框(如图10所示),单击“OK”,进入程序主界面,便可以传送文件了。
六、如何上传、下载文件
1.在本地硬盘选取一个或多个要上传的文件,在远程区域中进入欲将文件送至的目录。 单击工具栏上的上传图标,或者用鼠标直接将选取文件拖曳过去,文件便开始上传。当命令区域中提示DONE,即表示上传完毕。
2.当遇到只需要上传所有jpg文件等情况时,可以在菜单中选取“Directory/Group select”,在弹出的对话框中输入想选取的文件通配符,如图11所示。该功能支持文件通配符“*”和“?”的用法。
3.CuteFTP2.8支持整个目录的上传或下载,操作方法与传送单一文件是一样的。但有时网站需要增加目录,可选择菜单中的“Commands / Make new directory”,或单击鼠标右键点选“Make new directory”项。在弹出的对话框中输入新目录名即可。如图12所示。
下载文件与此相似。
传送文件时,会经常在本地区域或远程区域中点击鼠标右键,弹出常用操作的功能菜单:
Delete:删除被选中的文件;
Rename:对被选中的文件重命名;
Change file attributes:修改远程区域中被选中的文件属性。这一项对于CGI文件很重要。点击此项,将弹出如图13所示的对话框,具体设置方法可参考帮助文件。
Make new dir:建立文件夹(目录);
Refresh:刷新。

技 巧 篇

1.注意文件名称的大小写。因为大多数远程服务器,对于文件或目录名的大小写非常敏感。如果FTP软件中没有强制小写字母的功能,就要注意文件及目录名要用小写。在CuteFTP中,在FTP Site Manager / Edit Site / Advanced的Upload Filenames中选择Force Lowercase(强制小写),可以强制实现上传文件名称为小写。如图14所示。
2.正确设置本地及远程目录。在CuteFTP中设置好本地及远程目录的路径,登录后将自动进入指定目录中,就马上可以进行文件传送了,能节省很多切换目录的时间。注意本地目录路径是用“\”格式,而在远程目录路径使用的是“/”格式,因为大部分的服务器都是UNIX系统。对于常用的目录,应将它加到Bookmarks书签中。
3.进入某站点时候盯着注意信息窗,如果显示了“This site can resume broken downloads”,即表示支持续传功能。
4.CuteFTP的目录下的smdata.dat文件,记录了“FTP Site Manager”中各网站的信息,应该定期备份。如果“FTP Site Manager”损失,或者重装了CuteFTP,将此文件复制回去,就不用再编辑一大堆的FTP站了。此外还应备份四个重要的文件:cuteftp.key、 commands.dat、 bookmark.dat、 autoname.dat。
5.传送文件结束后,在FTP Site Manager中,不要将Password保留,容易被别人利用。
6.CuteFTP是共享软件,有很多功能需要注册才能使用。
7.CuteFTP 2.8已经解决了Y2K问题,但注意不要将系统日期设定到2037年之后。
8.如果CuteFTP一切设置正常,但传输文件还是非常慢或者只能传输部分文件便停止,请在Windows的system.ini中加上[VNTSPSD]MaxFrameSize=3D1000,然后重启计算机。或到下列站点下载系统修正程序: http://www.sns-access.com/~netpro/maxmtu.htm http://www.microsoft.com/windows95/info/krnlupd.htm
8、可按如下步骤显示远程区域的隐含目录:在FTP Site Manager选Edit site编辑某个站点。在“Remote Directory”项中输入“-rtaF”,并且不要复选“Local Filter”项。

前提,安装了wamp。建立php脚本文件mirror_ftp.php,如下:
<html>
<head>
<title>Mirror update</title>
</head>
<body>
<?php
//set up variables - change these to suit application
$host = '*******************'; //ftp server
$user = '**************'; // username
$password = '**********************';
$remotefile = '/test/test.txt'; // remote file path
$localfile = 'c:/test.txt'; // local path you want save

//connect to host
$conn = ftp_connect($host);
if (!$conn){
echo "Error: Could not connect to ftp server<br />";
exit;
}
echo "Connected to $host.<br />";

//log in to host
$result = @ftp_login($conn, $user, $password);
if (!$result){
echo "Error: Could not log on as $user<br />";
ftp_quit($conn);
exit;
}
echo "Logged in as $user<br />";

//check file times to see if an update is required
echo 'Checking file time....<br />';
if (file_exists($localfile)){
$localtime = filemtime($localfile);
echo "Local file last updated ";
echo date('G:i j-M-Y', $localtime);
echo "<br />";
}
else
$localtime = 0;
$remotetime = ftp_mdtm($conn, $remotefile);
if (!($remotetime >= 0)){
//This doesn't mean the file's not there, server may not support mod time
echo 'Can\'t access remote file time.<br />';
$remotetime = $localtime+1; //make sure of an update
}
else{
echo 'Remote file last updated ';
echo date('G:i j-M-Y', $remotetime);
echo '<br />';
}
if (!($remotetime > $localtime)){
echo 'Local copy is up to date.<br />';
exit;
}

//download file
echo 'Getting file from server...<br />';
$fp = fopen($localfile, 'w');
if (!$success = ftp_fget($conn, $fp, $remotefile, FTP_BINARY)){
echo 'Error: Could not download file';
ftp_quit($conn);
exit;
}
fclose($fp);
echo 'File downloaded successfully';

// close connection to host
ftp_quit($conn);
?>
</body>
</html>
建立运行php脚本文件的bat文件,使用windows任务计划自动运行bat文件