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

Форум PHP

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

 

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

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

тема: Проблема с ftp_connect
 
 автор: Loneliness   (28.03.2015 в 15:13)   письмо автору
 
 

Код файла Index.php следующий:
<?php 

  $ftp_server 
"ftp.zakupki.gov.ru"
  
$ftp_user "free"
  
$ftp_password "free";
 
  @
set_time_limit(120); 

  
$link ftp_connect($ftp_server); 
  if(!
$linkputerror("К сожалению, не удаётся установить соединение с FTP-сервером $ftp_server"); 

  
$login ftp_login($link$ftp_user$ftp_password); 
  if(!
$loginputerror("К сожалению, не удаётся зарегистрироваться на сервере"); 

  function 
puterror($message
  { 
    echo 
"<center><p class=help>$message</p>"
    exit(); 
  } 
 
  
$buff ftp_rawlist($link'/fcs_regions/Moskva/notifications/currMonth' );
   
var_dump($buff);
?>


Все время завершается с ошибкой ERR_EMPTY_RESPONSE
Сервер ftp.zakupki.gov.ru доступен, поскольку из браузера и ftp-клиента содержимое просматривается. Код тоже работоспособный - содержимое моего ftp-сервера этим скриптом тоже выводит.. До строки
$buff = ftp_rawlist($link, '/fcs_regions/Moskva/notifications/currMonth' ); 
все работает, соединение устанавливается, авторизует.. С этой строки - облом.. В чем может быть ньюанс?

  Ответить  
 
 автор: KPETuH   (30.03.2015 в 10:12)   письмо автору
 
   для: Loneliness   (28.03.2015 в 15:13)
 

Неверный путь скорее всего.

  Ответить  
 
 автор: Loneliness   (30.03.2015 в 21:10)   письмо автору
 
   для: KPETuH   (30.03.2015 в 10:12)
 

Путь верный

  Ответить  
 
 автор: Igorek   (30.03.2015 в 10:48)   письмо автору
 
   для: Loneliness   (28.03.2015 в 15:13)
 

Попробуйте включить пассивный режим.
т.е. перед вызовом ftp_rawlist выполнить:
<?php
ftp_pasv
($linktrue);

  Ответить  
 
 автор: Loneliness   (30.03.2015 в 21:16)   письмо автору
 
   для: Igorek   (30.03.2015 в 10:48)
 

Это делал - безрезультатно. В итоге достучался до закупок только с помощью curl, видимо не очень там желают чтобы на автомате у них что-то дергали, фильтруют по заголовкам..

$url = 'ftp.zakupki.gov.ru/fcs_regions/Moskva/notifications/currMonth/';         
  $ch = curl_init(); 
  curl_setopt($ch, CURLOPT_URL, $url); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
  curl_setopt($ch, CURLOPT_USERPWD, 'free:free');
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_FTPLISTONLY, 1); 
  curl_setopt($ch, CURLOPT_HEADER,true);
  $result = curl_exec($ch);
  echo $result;

Такой код пролазит, и возвращает список файлов в папке, что мне и требовалось. Спасибо откликнувшимся.

  Ответить  
 
 автор: Igorek   (31.03.2015 в 09:40)   письмо автору
 
   для: Loneliness   (30.03.2015 в 21:16)
 

> Это делал - безрезультатно.

странно, у меня сработало

  Ответить  
 
 автор: Loneliness   (31.03.2015 в 11:52)   письмо автору
 
   для: Igorek   (31.03.2015 в 09:40)
 

Попробую еще раз.

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

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