0
我有一個包含4000張左右圖片的FTP服務器,通過兩臺獨立相機(每30分鐘一張圖片)定期添加。我也有一個顯示這些圖片的網站。PHP&FTP:獲取最新批量文件
現在網站顯示每臺相機的最新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張左右的圖片的感覺是非常低效。我已經搜索了其他基於日期的文件檢索方法,但所有這些方法似乎都使用了相同的技術來檢索每個文件,然後再對它們進行排序。
我是否正確地做,或者有某種其他方式會更有效?
在此先感謝。
看起來像你暴露你的FTP憑證給最終用戶! – cmorrissey
ftp_nlist只是給你文件的名稱,而不是文件本身。這不應該是一個問題,並且沒有其他方法來做到這一點,因爲FTP不支持在服務器上進行任何過濾。並且,如上所述,不要將您的憑據放在輸出html中。 – Iarwa1n
這是我面臨的另一個問題。你會知道如何解決這個問題嗎? – Caske2000