gpt4 book ai didi

php - 使用 phpseclib 下载文件匹配模式

转载 作者:行者123 更新时间:2023-12-03 23:04:20 27 4
gpt4 key购买 nike

我正在尝试从 SFTP 服务器下载文件。我已经设法连接到它并下载了文件。问题是服务器中的文件会每天更新,并且文件名的一部分是它生成的确切时间,这是不可预测的。

我如何实现我的 PHP 脚本,以便它下载名称以特定模式开头但我不知道确切全名的任何 XML 文件?

最佳答案

您必须使用Net_SFTP::nlist 检索远程目录中所有文件的列表。 .

然后您迭代列表,找到符合您要求的文件名。

然后您使用 Net_SFTP::get 下载选定的文件.

include("Net/SFTP.php");

$sftp = new Net_SFTP("host");

if (!$sftp->login("username", "password"))
{
die("Cannot connect");
}

$path = "/remote/path";
$list = $sftp->nlist($path);

if ($list === false)
{
die("Error listing directory ".$path);
}

$prefix = "prefix";
$matches = preg_grep("/^$prefix.*/i", $list);
if (count($matches) != 1)
{
$s = implode(",", $matches);
die("No file or more than one file matches the pattern: $s");
}

$matches = array_values($matches);
$filename = $matches[0];
$filepath = $path."/".$filename;
if (!$sftp->get($filepath, $filename))
{
die("Error downloading file ".$filepath);
}

关于php - 使用 phpseclib 下载文件匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30402015/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com