PHP& FTP:获取最新批次的文件

时间:2016-12-13 19:46:55

标签: php html ftp

我有一个包含4000张左右图片的FTP服务器,定期通过两个单独的相机(每30分钟一对图片)添加。我还有一个显示这些图片的网站。

目前,该网站显示每台相机的最新20张照片。第一台摄像机的图片都包含字符串" House"那些第二个包含" Street"。以下是我现在正在使用的代码:

$ftpConn = ftp_connect([LOGIN_INFORMATION]);
$login = ftp_login($ftpConn,[LOGIN_INFORMATION]);
if ((!$ftpConn) || (!$login)) {
    echo 'FTP connection has failed! Attempted to connect to '. $host. ' for user '.$user.'.';
    ftp_close($ftpConn);
    exit();
}

$directory = ftp_nlist($ftpConn,'');
$house = array();
$street = array();

for ($i = 1; $i < count($directory); $i++) {
    if (strpos($directory[$i], 'House')) {
        array_push($house, $directory[$i]);
    } else {
        array_push($street, $directory[$i]);
    }
}
$_SESSION['house'] = $house;
$_SESSION['street'] = $street;
ftp_close($ftpConn);
$result = "<ul>";
for ($i = count($house) - 6; $i < count($house); $i++) {
    $result .= "<li><a class=\"fancybox\" rel=\"group\" href=\"ftp://[LOGIN_INFORMATION]/$house[$i]\"><img src=\"ftp://LOGIN_INFORMATION/$house[$i]\" width=\"160\" height=\"90\" ></a></li>";
}

我觉得首先从服务器检索所有文件然后只使用40张左右的图片是非常低效的。我已经搜索了其他基于日期检索文件的方法,但所有这些方法似乎都使用了相同的技术来检索每个文件,然后再对它们进行排序。

我是正确地做到了还是有某种其他更有效的方式?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在FTP中,无法检索仅一部分文件的列表(符合某些条件)。除了某些服务器允许根据文件掩码选择文件(但这不是标准)。

所以你做的是你能做的最好的事情。