Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Навигация по FTP серверу
 
 автор: hell_riser   (23.06.2006 в 19:16)   письмо автору
 
 

Здравствуйте. Подскажите как можно организовать навигацию по FTP серверу.
Подключение, авторизация и получение списка в корне, проходит без проблем, дальше прохожу ещё на один уровень типа ftp://localhost/Music/... а дальше всё приехали.
код таков:

<?
if(isset($_GET['ftp']))
{
    
$dir $_GET['ftp'];
}
//Соединение с сервером.
 
$ftp ftp_connect(localhost21);
//Авторизация на сервере.
 
$ftp1 ftp_login($ftpanonymous,'');
    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
 
}
?>

   
 
 автор: LEM   (23.06.2006 в 19:51)   письмо автору
 
   для: hell_riser   (23.06.2006 в 19:16)
 

Используй
ftp_chdir($dir);

   
 
 автор: LEM   (23.06.2006 в 19:54)   письмо автору
 
   для: LEM   (23.06.2006 в 19:51)
 

Хотя и так будет работать ,наверное ты не корректно указываешь $dir
нужно без ftp://

   
 
 автор: hell_riser   (24.06.2006 в 01:34)   письмо автору
 
   для: LEM   (23.06.2006 в 19:54)
 

С этим разобрался.
Не создавая новую тему спрашу ещё.
А есть ли функции для работы с FTP чтобы определить является элемент массива(списка директории) папкой или файлом?
Конечно можно и регулярным выражением проверить наличие расширения, если есть то файл, но есть файлы и без расширения, и с двойным расширением.

   
 
 автор: cheops   (24.06.2006 в 12:25)   письмо автору
 
   для: hell_riser   (24.06.2006 в 01:34)
 

Нет универсальной функции нет, тем более в UNIX-подобных операционных системах файлы, как правило, вообще без расширения - нужно просто проверять существует файл или нет.

   
 
 автор: LEM   (24.06.2006 в 20:03)   письмо автору
 
   для: cheops   (24.06.2006 в 12:25)
 

Или же, применять например
ftp_size
Выдаст -1 если это папка .
Я так делал.
Ещё есть вариант распознать по chmod..

   
 
 автор: hell_riser   (24.06.2006 в 20:11)   письмо автору
 
   для: LEM   (24.06.2006 в 20:03)
 

Спасибо сейчас попробую

   
 
 автор: tuder   (30.06.2006 в 11:46)   письмо автору
 
   для: hell_riser   (24.06.2006 в 20:11)
 

Оцени. Доработал скрипт. Всё работает вроде как надо.

   
 
 автор: hell_riser   (24.06.2006 в 20:10)   письмо автору
 
   для: cheops   (24.06.2006 в 12:25)
 

Преформулирую вопрос: в этом случае как организовать так, чтобы при открытии директории
содержащей поддиректории и файлы при клике по файлу он отгружался клиенту, а при клике на поддиректории она окрывалась и так далее?
Что-то нет желания создавать БД с путями к файлам.
P.S. Прошу не казнить за обилие вопросов в одной теме

   
 
 автор: kasmanaft   (24.06.2006 в 21:19)   письмо автору
 
   для: hell_riser   (24.06.2006 в 20:10)
 

хы, казнить наверно ну будут, но лучше бы создавать для разных вопросов разные темы :P

>при клике по файлу он отгружался клиенту,
>а при клике на поддиректории она окрывалась

то есть на файл ставится обычная ссылка? если так, то эт наверно понятно...
а чтобы открыть папку можно в ссылке методом GET передать имя этой папки (например www.site.ru/index.php?folder2open=images), а в скрипте смотреть если переменная $_GET['folder2open'] не пуста, то функции (желательно сделать, если еще нет... ) передаем имя нужной папки (images) ..
(функция будет открывать нужную папку и отображать ее содержимое, а если пользователь папку не выбирал - корневой каталог)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования