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

Форум PHP

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

 

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

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

тема: ftp-сканер
 
 автор: Nicole Neumann   (28.10.2006 в 09:57)   письмо автору
 
 

Кто поможет дописать фтп-сканер?

Должно выводить вот так:

/
- /pub/
-- /pub/files/
-- /pub/kc-goals/
--- F> -rw-r--r-- 1 dye users 5754880 May 10 2004 2004050906h.avi
--- F> -rw-r--r-- 1 dye users 4831232 May 13 2004 2004051201h.avi
--- F> -rw-r--r-- 1 dye users 2930688 May 13 2004 2004051202h.avi
--- F> -rw-r--r-- 1 dye users 6090752 May 13 2004 2004051203h.avi
--- F> -rw-r--r-- 1 dye users 6701056 May 14 2004 2004051204h.avi
-- /pub/lections/
--- /pub/lections/networks/
---- /pub/lections/networks/1/
---- /pub/lections/networks/2/
---- /pub/lections/networks/3/
---- /pub/lections/networks/4/
---- /pub/lections/networks/5/
---- /pub/lections/networks/lab/
----- F> -rw-r--r-- 1 dye users 47104 May 24 2002 http_rus.doc
--- /pub/lections/proftpd/
---- F> -rw-r--r-- 1 dye users 977554 May 24 2002 configuration.pdf
---- F> -rw-r--r-- 1 dye users 1425457 May 24 2002 userguide.pdf
--- /pub/lections/rfc/
---- F> -rw-r--r-- 1 dye users 245505 May 24 2002 rfc1123.txt
---- F> -rw-r--r-- 1 dye users 718425 May 24 2002 rfc2616.pdf
---- F> -rw-r--r-- 1 dye users 77638 May 24 2002 rfc2617.txt
---- F> -rw-r--r-- 1 dye users 151251 May 24 2002 rfc959.txt
-- /pub/source/
--- F> -rw-r--r-- 1 dye users 2232504 May 24 2002 apache_1.3.24.tar.gz
--- F> -rw-r--r-- 1 dye users 2701799 May 24 2002 db-4.0.14.tar.gz
--- F> -rw-r--r-- 1 dye users 257631 May 24 2002 gd-1.8.4.tar.gz
--- F> -rw-r--r-- 1 dye users 613261 May 24 2002 jpegsrc.v6b.tar.gz
--- F> -rw-r--r-- 1 dye users 752322 May 24 2002 mod_ssl-2.8.8-1.3.24.tar.gz
--- F> -rw-r--r-- 1 dye users 3359964 May 24 2002 php-4.1.2.tar.gz
--- F> -rw-r--r-- 1 dye users 3376494 May 24 2002 php-4.2.1.tar.gz
--- F> -rw-r--r-- 1 dye users 592543 May 24 2002 proftpd-1.2.4.tar.gz
--- F> -rw-r--r-- 1 dye users 418680 May 24 2002 webalizer-2.01-10-src.tgz
- /video/
-- F> -rw-r--r-- 1 root root 229256414 Dec 6 2004 lib_video.avi
-- F> -rw-r--r-- 1 root root 446798123 Apr 26 2005 soifer_int.mpg
-- F> -rw-r--r-- 1 root root 175613182 Nov 14 2002 ssau2002.avi
- F> -rw-r--r-- 1 root root 55 Jul 9 2005 welcome.msg

Как переделать под такой макар код имеющегося сканера?

Код конфига:

<?php 
  
// Адрес FTP-сервера 
  
$ftp_server "www.ssau.ru"
  
// Порт соединения 
  
$ftp_port 21
  
// Пользователь 
  
$ftp_user "anonymous"
  
// Пароль 
  
$ftp_password "12345"
  
// Версия Web-приложения 
  
$version "1.0.0"
  
// Устанавливаем время исполнения скрипта = 120 с 
  
set_time_limit(120); 
  
// Пытаемся установить соединение с FTP-сервером 
  
$link ftp_connect($ftp_server); 
  if(!
$linkputerror("К сожалению, не удаётся установить соединение с FTP-сервером $ftp_server"); 
  
// Осуществляем регистрацию на сервере 
  
$login ftp_login($link$ftp_user$ftp_password); 
  
//$login = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 
  
if(!$loginputerror("К сожалению, не удаётся зарегистрироваться на сервере"); 
  
// Небольшая вспомогательная функция, которая выводит сообщение об ошибке 
  // в окно браузера 
  
function puterror($message
  { 
    echo 
"<center><p class=help>$message</p>"
    exit(); 
  } 
?>



Код сканера:

<?php
  
require_once("top.php");
  
// Устанавливаем соединение с FTP-сервером
  
require_once("config.php");
  
// Директория на сервере
  // $dir = "/";
  
$dir "/";
  
// Запускаем сканер
  
scan_ftp($link$dir);
  
// Закрываем соединение с FTP-сервером
  
ftp_close($link);
  
// Результат находится в глобальном массиве $filename
  
echo "<pre>";
  
print_r($filename);
  echo 
"</pre>";
  
////////////////////////////////////////////////////////
  // Рекурсивная функция спуска по дереву
  // директорий
  ////////////////////////////////////////////////////////
  
function scan_ftp($link$dir)
  {
    GLOBAL 
$filename;
    
// Получаем все файлы корневого каталога
    // Дескриптор соединения $link получен в config.php
    
$file_list ftp_rawlist($link$dir);
    
// Выводим содержимое каталога
    
foreach($file_list as $file)
    {
      
// Разбиваем строку по пробельным символам
      
list($acc,
           
$bloks,
           
$group,
           
$user,
           
$size,
           
$month,
           
$day,
           
$year,
           
$file) = preg_split("/[\s]+/"$file);
      
// Если файл начинается с точки - игнорируем его
      
if(substr($file01) == '.') continue;
      
// Определяем является ли объект директорией
      
if(substr($acc01) == 'd')
      {
        
// Директория
        
scan_ftp($link$dir.$file."/");
      }
      
// Определяем является ли объект файлом
      
if(substr($acc01) == '-')
      {
        
// Файл
        
$filename[] = $file." - (".$size." bytes; ".$day." ".$month." ".$year.") - ".$dir.$file;
      }
    }
  }
  require_once(
"bottom.php");
?>

   
 
 автор: Nicole Neumann   (28.10.2006 в 10:02)   письмо автору
 
   для: Nicole Neumann   (28.10.2006 в 09:57)
 

Кто поможет, заплачу 3 WMZ!!! Я думаю для профи здесь делать все быстро. Я не профи, поэтому и прошу помощи! Помогите!

   
 
 автор: ЯR   (28.10.2006 в 12:08)   письмо автору
 
   для: Nicole Neumann   (28.10.2006 в 10:02)
 

Ща помогу, если никто до этого не поможет :)

   
 
 автор: kasmanaft   (28.10.2006 в 12:20)   письмо автору
 
   для: Nicole Neumann   (28.10.2006 в 10:02)
 

Вчера на "раздачу" опаздал, седня постараюсь не пропустить =)
Прошу ==============>

   
 
 автор: ЯR   (28.10.2006 в 12:44)   письмо автору
 
   для: kasmanaft   (28.10.2006 в 12:20)
 

А у меня что-то список файлов не получается с сервака

   
 
 автор: kasmanaft   (28.10.2006 в 12:48)   письмо автору
 
   для: ЯR   (28.10.2006 в 12:44)
 

Ага, так будет, если скрипт встретит папку в имени которой пробел встретится
Вот, исправил:

(упс... забыл require_once("top.php") / bottom раскомментировать )

   
 
 автор: ЯR   (28.10.2006 в 12:55)   письмо автору
 
   для: kasmanaft   (28.10.2006 в 12:48)
 

И всё равно не работает (выдаёт / и всё), там сервак какой-то глючный, filezilla тоже не может получить список файлов

   
 
 автор: kasmanaft   (28.10.2006 в 12:59)   письмо автору
 
   для: ЯR   (28.10.2006 в 12:55)
 

Ага .. у меня тоже оттуда с минуту получал список .. я на своем тестил

   
 
 автор: ЯR   (28.10.2006 в 13:25)   письмо автору
 
   для: kasmanaft   (28.10.2006 в 12:59)
 

Заработало!

   
 
 автор: ЯR   (28.10.2006 в 12:48)   письмо автору
 
   для: kasmanaft   (28.10.2006 в 12:20)
 

У меня твой сканер не работает

   
 
 автор: ЯR   (28.10.2006 в 13:27)   письмо автору
 
   для: Nicole Neumann   (28.10.2006 в 10:02)
 

Nicole Neumann, будут ещё задачки? Мне понравилось

   
 
 автор: Nicole Neumann   (29.10.2006 в 15:27)   письмо автору
 
   для: Nicole Neumann   (28.10.2006 в 09:57)
 

Большое спасибо kasmanaft! РАБОТАЕТ! Напиши кошелек, куда заслать тебе твои законные 3wmz!!! (или аська 539778. что больше нравится. на выбор.)


P.S. to ЯR: обязательно будут еще задачки. только позже.)))

   
 
 автор: kasmanaft   (29.10.2006 в 18:11)   письмо автору
 
   для: Nicole Neumann   (29.10.2006 в 15:27)
 

Вот цуда пожалуста Z322301351950 :)

   
 
 автор: Nicole Neumann   (29.10.2006 в 19:42)   письмо автору
 
   для: kasmanaft   (29.10.2006 в 18:11)
 

Отправил))) Еще раз, спасибо!

   
 
 автор: kasmanaft   (29.10.2006 в 20:25)   письмо автору
 
   для: Nicole Neumann   (29.10.2006 в 19:42)
 

Тебе спасибо! Всё получил :)

   
 
 автор: Nicole Neumann   (31.10.2006 в 10:48)   письмо автору
 
   для: kasmanaft   (29.10.2006 в 20:25)
 

А как посчитать и суммарный объем всех файлов??? забыл сразу уточнить...

П.С. Нужно СРОЧНО! Награда: 1WMZ.

   
 
 автор: kasmanaft   (31.10.2006 в 14:33)   письмо автору
 
   для: Nicole Neumann   (31.10.2006 в 10:48)
 

Коли прилагается награда, то без советов и объяснений:
готовый скрипт :) ---- >

пс: если ВМЗ лишние, шли туда же ;)

   
 
 автор: Nicole Neumann   (31.10.2006 в 16:46)   письмо автору
 
   для: kasmanaft   (31.10.2006 в 14:33)
 

Спасибо! Отправил деньги! Писал про награду не потому, что деньжата у меня лишние, а за срочность плачу.

   
Rambler's Top100
вверх

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