我有一个包含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张左右的图片是非常低效的。我已经搜索了其他基于日期检索文件的方法,但所有这些方法似乎都使用了相同的技术来检索每个文件,然后再对它们进行排序。
我是正确地做到了还是有某种其他更有效的方式?
提前致谢。
答案 0 :(得分:0)
在FTP中,无法检索仅一部分文件的列表(符合某些条件)。除了某些服务器允许根据文件掩码选择文件(但这不是标准)。
所以你做的是你能做的最好的事情。