|
|
|
| Здравствуйте. Подскажите как можно организовать навигацию по FTP серверу.
Подключение, авторизация и получение списка в корне, проходит без проблем, дальше прохожу ещё на один уровень типа ftp://localhost/Music/... а дальше всё приехали.
код таков:
<?
if(isset($_GET['ftp']))
{
$dir = $_GET['ftp'];
}
//Соединение с сервером.
$ftp = ftp_connect(localhost, 21);
//Авторизация на сервере.
$ftp1 = ftp_login($ftp, anonymous,'');
if(!$ftp1)
{
echo "Нет соединения";
exit();
}
//Запрашиваем список.
$buf = ftp_nlist($ftp, $dir);
//Выводим список в браузер.
foreach($buf AS $values){
?>
<table bgcolor='#F5F5F5' width='100%'>
<tr>
<td align='center'>
<?php echo "<a href='ftp.php?ftp=".$values."'>".$values."<br>"; ?>
</td>
</tr>
</table>
<?php
}
?>
|
| |
|
|
|
|
|
|
|
для: hell_riser
(23.06.2006 в 19:16)
| | Используй
ftp_chdir($dir); | |
|
|
|
|
|
|
|
для: LEM
(23.06.2006 в 19:51)
| | Хотя и так будет работать ,наверное ты не корректно указываешь $dir
нужно без ftp:// | |
|
|
|
|
|
|
|
для: LEM
(23.06.2006 в 19:54)
| | С этим разобрался.
Не создавая новую тему спрашу ещё.
А есть ли функции для работы с FTP чтобы определить является элемент массива(списка директории) папкой или файлом?
Конечно можно и регулярным выражением проверить наличие расширения, если есть то файл, но есть файлы и без расширения, и с двойным расширением. | |
|
|
|
|
|
|
|
для: hell_riser
(24.06.2006 в 01:34)
| | Нет универсальной функции нет, тем более в UNIX-подобных операционных системах файлы, как правило, вообще без расширения - нужно просто проверять существует файл или нет. | |
|
|
|
|
|
|
|
для: cheops
(24.06.2006 в 12:25)
| | Или же, применять например
ftp_size
Выдаст -1 если это папка .
Я так делал.
Ещё есть вариант распознать по chmod.. | |
|
|
|
|
|
|
|
для: LEM
(24.06.2006 в 20:03)
| | Спасибо сейчас попробую | |
|
|
|
|
|
|
|
для: hell_riser
(24.06.2006 в 20:11)
| | Оцени. Доработал скрипт. Всё работает вроде как надо. | |
|
|
|
|
|
|
|
для: cheops
(24.06.2006 в 12:25)
| | Преформулирую вопрос: в этом случае как организовать так, чтобы при открытии директории
содержащей поддиректории и файлы при клике по файлу он отгружался клиенту, а при клике на поддиректории она окрывалась и так далее?
Что-то нет желания создавать БД с путями к файлам.
P.S. Прошу не казнить за обилие вопросов в одной теме | |
|
|
|
|
|
|
|
для: hell_riser
(24.06.2006 в 20:10)
| | хы, казнить наверно ну будут, но лучше бы создавать для разных вопросов разные темы :P
>при клике по файлу он отгружался клиенту,
>а при клике на поддиректории она окрывалась
то есть на файл ставится обычная ссылка? если так, то эт наверно понятно...
а чтобы открыть папку можно в ссылке методом GET передать имя этой папки (например www.site.ru/index.php?folder2open=images), а в скрипте смотреть если переменная $_GET['folder2open'] не пуста, то функции (желательно сделать, если еще нет... ) передаем имя нужной папки (images) ..
(функция будет открывать нужную папку и отображать ее содержимое, а если пользователь папку не выбирал - корневой каталог) | |
|
|
|