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

Форум PHP

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

 

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

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

тема: Как вывести список своих директорий и файлов с хоста сервера?
 
 автор: muravey   (11.01.2011 в 18:04)   письмо автору
 
 

Хочу вывести список своих директорий и файлов с хоста сервера где мой сайт в мое веб приложение на локальном компе.

<?php
  
// Имя пользователя
  
$ftp_user "u9796";
  
// Пароль
  
$ftp_password "pass";
  
// Сервер
  
$ftp_server "u9796.netangels.ru";

  
// Устанавливаем соединение с FTP-сервером
  
$ftp_handle ftp_connect($ftp_server);

  
$login ftp_login($ftp_handle$ftp_user$ftp_password);

  if ((!
$ftp_handle) || (!$login))
  {
    die(
"Ошибка подключения к FTP-серверу");
  }
  else echo 
"Успешно подключились к серверу!";

  echo 
"<p>Выводим содержимое текущего каталога";

  
$A ftp_nlist($ftp_handleftp_pwd($ftp_handle));

  foreach (
$A as $a) echo "<br>$a"// 24

  
ftp_close($ftp_handle);
?>


Все подключается, но директории не видит


Успешно подключились к серверу!

Выводим содержимое текущего каталога

Warning: Invalid argument supplied for foreach() in Z:\home\localhost\www\ftp\index.php on line 24


Что делаю не так?

  Ответить  
 
 автор: Красная_шляпа   (11.01.2011 в 20:19)   письмо автору
 
   для: muravey   (11.01.2011 в 18:04)
 

[поправлено модератором]

  Ответить  
 
 автор: neadekvat   (11.01.2011 в 20:22)   письмо автору
 
   для: Красная_шляпа   (11.01.2011 в 20:19)
 

Если бы массив был просто пустой - ошибки бы не было.

Автору: сделайте var_dump($A), чтобы убедится, что у вас там совсем не массив.

  Ответить  
 
 автор: muravey   (11.01.2011 в 22:13)   письмо автору
 
   для: neadekvat   (11.01.2011 в 20:22)
 

Рез след


Успешно подключились к серверу!
Выводим содержимое текущего каталога
bool(false) 
Warning: Invalid argument supplied for foreach() in Z:\home\localhost\www\ftp\index.php on line 27

  Ответить  
 
 автор: neadekvat   (11.01.2011 в 22:52)   письмо автору
 
   для: muravey   (11.01.2011 в 22:13)
 

А чего вы ждете? Посмотрите, в каком случаи ftp_nlist возвращает false.

  Ответить  
 
 автор: muravey   (12.01.2011 в 07:49)   письмо автору
 
   для: neadekvat   (11.01.2011 в 22:52)
 

Спасибо за советы!

Но я уже разобрался, все дело в пассивном режиме. Нужно его включить.


<?php
  
// Имя пользователя
  
$ftp_user "u9796";
  
// Пароль
  
$ftp_password "pass";
  
// Сервер
  
$ftp_server "u9796.netangels.ru";

  
// Устанавливаем соединение с FTP-сервером
  
$ftp_handle ftp_connect($ftp_server);

  
$login ftp_login($ftp_handle$ftp_user$ftp_password);

  if ((!
$ftp_handle) || (!$login))
  {
    die(
"Ошибка подключения к FTP-серверу");
  }
  else
  {
      echo 
"Успешно подключились к серверу!";
      
ftp_pasv($ftp_handletrue);//ВКЛЮЧАЕМ ПАССИВНЫЙ РЕЖИМ
  
}

  echo 
"<p>Выводим содержимое текущего каталога<br>";

  
$A ftp_nlist($ftp_handleftp_pwd($ftp_handle));

  foreach (
$A as $a) echo "<br>$a";

  
ftp_close($ftp_handle);
?>


результат скрипта


Успешно подключились к серверу!
Выводим содержимое текущего каталога

.bash_logout
.bash_profile
.bashrc
.profile
bin
etc
log
muravey-66.ru
muravey-nik.ru
tmp

  Ответить  
Rambler's Top100
вверх

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