как правильно проверить наличие каталога/файла ftp

mstdmstd

Новичок
Сделал через ftp_nlist проверку наличия подкаталога и создание нового каталога, если его не существует.
Проверил - несколько дней нормально работало. Потом перестает работать Начинаю дебажить и вижу что на ftp_nlist просто выполнение скрипта обрывается
В логе ощибок нет. Проверил через filezilla доступ к тому же серверу нормален. То ли клиент параметры доступа поменял то ли хз. Можно как-то проверить или получить
описание ошибки ?
 

A1x

Новичок
я делал проверку существования каталога через ftp_chdir - если не существует то выбрасывается исключение
конечно среда должна быть настроена преобразовывать варнинги в исключения. Вроде работает
 

mstdmstd

Новичок
С ftp_chdir - тав же хрень.

DebToFile( - это вывод текста в файл для дебага
Делаю :
Код:
    $conn_id = ftp_connect($ftp_server); // set up basic connection
    DebToFile( '-00041:: $conn_id::' . print_r( $conn_id, true ), false );
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // login with username and password
    DebToFile( '-00042:: $login_result::' . print_r( $login_result, true ), false );
/*    $dirs_list = ftp_nlist( $conn_id, '.' );
    DebToFile( '-00044:: $dirs_list::' . print_r( $dirs_list, true ), false );
    if ( is_array($dirs_list) and !in_array( 'uploads', $dirs_list) ) {
      DebToFile( '-00044411 DIR uploads CREATING' , false );
      ftp_mkdir($conn_id, '/uploads');
      DebToFile( '-00044412 AFTER DIR uploads CREATING' , false );
      //return false;
    } */
    DebToFile( '-000444:: ::' . print_r("Current directory: " . ftp_pwd($conn_id), true ), false );
    DebToFile( '++0004500 BEFORE::????!!!!' , false );
    try {
        if (ftp_chdir($conn_id, '/uploads')) {
        DebToFile( "-00045110 Current directory is now: " . ftp_pwd($conn_id)  , false );
        } else {
        DebToFile( '-00045111 Couldn\'t change directory' , false );
        ftp_mkdir($conn_id, '/uploads');
        DebToFile( '-00045112 After dir /uploads creation' , false );
      }
      } catch (Exception $e) {
      DebToFile( '-0004501 ERROR  $e->getMessage()::' . $e->getMessage(), false );
      //echo 'Выброшено исключение: ',  $e->getMessage(), "\n";
    }

В файле отладки :
Код:
-00041:: $conn_id::Resource id #100
-00042:: $login_result::1
-000444:: ::Current directory: /
++0004500 BEFORE::????!!!!
То есть первый вызов ftp_chdir (или ранее ftp_nlist) и выполнение скрипта обрывается.
Блок try не срабатывает. В лог ошибок ничего не выводится.
В Filezilla под логином нормально вхожу и могу создавать каталоги.
В чем может быть проблема ? Как я писал ранее я написал эту часть несколько дней и все работало нормально...
 
Сверху