php新手。我需要在ftp服务器上搜索多个目录,并根据日期(包含在每个文件的名称中)下载包含在其中的文件。到目前为止,我遇到了Array到字符串转换的问题 - 希望你能看到我在这里“尝试”做什么,并且可以帮助我。
<?php
$url = ' MY FTP SERVER';
$user = ' USERNAME ';
$pass = ' PASSWORD';
$target = 'LOCAL DIRECTORY';
$connection = ftp_connect($url) or die ("Could not connect to $url");
$loginBool = ftp_login($connection, $user, $pass);
if ($loginBool)
{
echo "Connected as $user at $url";
}else{
echo "Could not connect as $user";
}
ftp_chdir($connection, 'MOVE ONE FOLDER IN');
$ftpDirectories = ftp_nlist($connection, ".");
for($i=0; $i < (count($ftpDirectories)); $i++){
$directory = ("/MAIN DIR/$ftpDirectories[$i]/");
echo $directory;
ftp_chdir($connection, $directory);
echo ftp_nlist($connection, $directory);
}
?>
我认为逻辑如下:
获取存储在Array
中的主文件夹下所有文件夹的列表循环遍历数组的每个元素(ftp上的文件夹)并切换到目录
逐一
打印出文件(所以我知道它的工作原理)
我还需要添加:
更改为目录后,将文件名拆分为数组并将它们与
进行比较今天的日期 - &gt;如果filenameDate [index] ==今天的日期
下载感谢您的帮助!
编辑
<?php
$url = 'pmike86.zxq.net';
$user = 'pmike86_zxq';
$pass = '******';
$target = 'C:\Folder\\';
$connection = ftp_connect($url) or die ("Could not connect to $url");
$loginBool = ftp_login($connection, $user, $pass);
if ($loginBool)
{
echo "Connected as $user at $url";
}else{
echo "Could not connect as $user";
}
ftp_chdir($connection, 'HW');
$ftpDirectories = ftp_nlist($connection, ".");
for($i=0; $i < (count($ftpDirectories)); $i++){
$directory = ("/HW/$ftpDirectories[$i]/");
echo $directory;
ftp_chdir($connection, $directory);
foreach (ftp_nlist($connection, $directory) as $item)
{
ftp_get($connection, $target, $item, FTP_BINARY);
}
}
?>