1

我正在编写一个可以将文件上传到多个 FTP 服务器的程序。

有一个表格,最上面一行是站点,最左边一列是文件。通过这张表,我定义了应该上传到哪里。

该程序已经在运行,但我现在要做的是在每个站点上并行上传文件。因此,当我点击开始时,如果特定单元格的内容如此说明,每列将自行遍历行并将文件上传到该站点。站点可以是 1 到 50 之间的任意数字。所有上传都应该是并行的。(每个站点一次一个文件)

我要问的是处理这种事情的最佳方法是什么?我知道我必须设置多个上传器,但让我感到困惑的是如何跟踪每个站点的操作。我唯一能想到的是数组数组。其中每个位置都针对一个站点,并且该位置的数组定义了正在上传的文件以及它需要的所有信息。那会是一个很好的解决方案吗?

谢谢!

4

2 回答 2

0

您可以创建一个自定义类并将 aList(Of SiteFiles)用于它们的集合。您迭代站点数据并SiteFiles为每个站点创建一个新对象,并将文件名添加到Files需要上传到该站点的属性中。然后,当您完成此操作后,您可以为每个对象List(Of SiteFiles)迭代每个文件,并在需要时使用线程/异步方法并上传文件。这为您提供了一种整洁的方式来组织您的工作。SiteFiles.FilesSiteFiles

Public Class SiteFiles
  Public Property Site As String
  Public Property Files As New List(Of String)
End Class
于 2013-07-18T21:25:37.853 回答
0

您可以将数据放入数组中,然后使用 for 循环

使用此代码

$web = ['www.firstSite.com','www.secondSite.com']
$user = ['firstUser','secondUser']
$pass = ['firstPass','secondPass']

for($i=0;$i<sizeof($web);$i++)
{
$conn_id = ftp_connect($web[$i]);
$login_result = ftp_login($conn_id,$user[$i],$pass[$i]);

if (ftp_put($conn_id, $server_file, $local_file, FTP_BINARY))
 {echo "Success";} 
else {echo "Failed";}
}
于 2013-07-18T18:12:56.643 回答