Первый вариант скрипта:
СпойлерПоказать
Код: Выделить всё
$date_mas = getdate();
$d = $date_mas['mday'];
if ($d < 10) { $d = '0' . $d;}
$m = $date_mas['mon'];
if ($m < 10) { $m = '0' . $m;}
$y = $date_mas['year'];
$hrs = $date_mas['hours'];
if ($hrs < 10) { $hrs = '0' . $hrs;}
$min = $date_mas['minutes'];
if ($min < 10) { $min = '0' . $minh;}
$sec = $date_mas['seconds'];
if ($sec < 10) { $sec = '0' . $sec;}
$dir = 'ftp://192.168.1.150/192.168.1.151_0012152d8188/' . $y . '-' . $m . '-' . $d . '/01/pic/'; // Папка с изображениями
$cols = 7; // Количество столбцов в будущей таблице с картинками
$files = scandir($dir); // Берём всё содержимое директории
echo "<table>"; // Начинаем таблицу
$k = 0; // Вспомогательный счётчик для перехода на новые строки
for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы
if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем
if ($k % $cols == 0) echo "<tr>"; // Добавляем новую строку
echo "<td>"; // Начинаем столбец
$path = $dir.$files[$i]; // Получаем путь к картинке
echo "<a href='$path'>"; // Делаем ссылку на картинку
echo "<img src='$path' alt='' width='100' />"; // Вывод превью картинки
echo "</a>"; // Закрываем ссылку
echo "</td>"; // Закрываем столбец
/* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя */
if ((($k + 1) % $cols == 0) || (($i + 1) == count($files))) echo "</tr>";
$k++; // Увеличиваем вспомогательный счётчик
}
}
echo "</table>"; // Закрываем таблицу
СпойлерПоказать
Код: Выделить всё
$date_mas = getdate();
$d = $date_mas['mday'];
if ($d < 10) { $d = '0' . $d;}
$m = $date_mas['mon'];
if ($m < 10) { $m = '0' . $m;}
$y = $date_mas['year'];
$hrs = $date_mas['hours'];
if ($hrs < 10) { $hrs = '0' . $hrs;}
$min = $date_mas['minutes'];
if ($min < 10) { $min = '0' . $minh;}
$sec = $date_mas['seconds'];
if ($sec < 10) { $sec = '0' . $sec;}
$ftp_server = "192.168.1.150";
$ftp_user = "admin";
$ftp_pass = "pass";
$ftp_imageDir = '192.168.1.151_0012152d8188/' . $y . '-' . $m . '-' . $d . '/01/pic/';
$ftp = ftp_connect($ftp_server, "21", "30"); // Создаём идентификатор соединения (адрес хоста, порт, таймаут)
$login = ftp_login($ftp, $ftp_user, $ftp_pass); // Авторизуемся на FTP-сервере
if (!$login) exit("Ошибка подключения");
ftp_chdir($ftp, $ftp_imageDir); // Заходим в созданную директорию
$cols = 7; // Количество столбцов в будущей таблице с картинками
echo "<table>"; // Начинаем таблицу
$k = 0; // Вспомогательный счётчик для перехода на новые строки
$files = ftp_nlist($ftp, "."); // Получаем список файлов из текущей директории
for ($i = 0; $i < count($files); $i++) {
if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем
if ($k % $cols == 0) echo "<tr>"; // Добавляем новую строку
echo "<td>"; // Начинаем столбец
$path = 'ftp://'.$ftp_server.'/'.$ftp_imageDir.'/'.$dir.$files[$i]; // Получаем путь к картинке
echo "<a target='_blank' href='$path'>"; // Делаем ссылку на картинку
echo "<img src='$path' alt='' width='100' />"; // Вывод превью картинки
echo "</a>"; // Закрываем ссылку
echo "</td>"; // Закрываем столбец
/* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя */
if ((($k + 1) % $cols == 0) || (($i + 1) == count($files))) echo "</tr>";
$k++; // Увеличиваем вспомогательный счётчик
}
}
echo "</table>"; // Закрываем таблицу
ftp_close($ftp);
Исходники скриптов не мои, но мною модифицированы.
Так вот и вариант с подключением по FTP выдает тот же результат.

Думал что проблема в том что превьюшки маленькие и из-за масштабирования не подгружаются, но даже полноразмерные (там у меня 704px по ширине и вес 80-100 КБ каждая) не отображаются на этой сгенерированной страничке. Что-то подсказывает что проблема может в самом FTP. но там количество максимальных подключений на одного юзера я сделал 50. Может мало?
Может кто подскажет что я не учел?
Почему ссылки ведут на файл, а он не отображается?
Что может мешать?