Page 1 of 1

Deleting files in folders and the folders on the FTP server

Posted: Sun Jan 29, 2017 2:18 am
by Eugene Lutsenko
Can't do delete files in folders and then the folders themselves on the FTP server:

Code: Select all

   *** Удалить все базы и папки данных приложений на WEB-сервере ("Source_data_applications")

   cGDServer:="ftp://j90540lw.beget.tech"                                                                                      
                                                                                                                               
   oFtp := XbFTPClient():new()                                                                                                 
                                                                                                                               
   IF oFtp:Connect(cGDServer)                          // Соединение                                                           
      IF oFtp:Login(Ftp_User, Ftp_Passw)               // Авторизация                                                          
                                                                                                                               
         **** Сделать текущей папку: ftp://j90540lw.beget.tech/aidos/public_html/Source_data_applications/                                              
                                                                                                                               
         IF ! oFtp:SetCurrentDirectory("aidos/public_html/Source_data_applications/")                                                                   
            LB_Warning('Не удалось сделать текущей директорию: "aidos/public_html/Source_data_applications"', 'Сброс WEB-базы исходных данных приложений' )              
            RETURN NIL                                                                                                         
         ENDIF                                                                                                                 
                                                                                                                               
         oFtp:PassiveMode:=.T.                         // Пассивный режим                                                      
                                                                                                                               
         oScrn   := DC_WaitOn( 'Сброс WEB-базы исходных данных приложений системы "Эйдос-Х++"' )

         mFlagErr = .F.

         // Удалять сначала файлы, потом папки внутри, потом директорию. Спросить у Бориса можно ли удалить не пустую папку ###########################

         aAppls := oFtp:Directory("*.*","D")
         MsgBox(aAppls[1,F_NAME])

         IF LEN(aAppls) > 0

            FOR a=1 TO LEN(aAppls)
                MsgBox(aAppls[a,F_NAME])
                IF ! oFtp:SetCurrentDirectory(aAppls[a,F_NAME])                                                                   
                   LB_Warning('Не удалось сделать текущей директорию: '+aAppls[a,F_NAME], 'Сброс WEB-базы исходных данных приложений' )              
                   RETURN NIL                                                                                                         
                ENDIF                                                                                                                 
            
                aFiles := Directory("*.*")
                MsgBox(aFiles[1,F_NAME])

                IF LEN(aFiles) > 0
                   FOR f=1 TO LEN(aFiles)
                       IF ! oFtp:DeleteFile( aFiles[f,F_NAME] )  
                          DC_Impl(oScrn)                                                                                                     
                          LB_Warning( '*** ERROR: Unable to delete file!: '+aFiles[f,F_NAME], 'Сброс WEB-базы исходных данных приложений' )
                          mFlagErr = .T.
                       ENDIF
                   NEXT
                ENDIF
            NEXT
         ENDIF

         IF ! oFtp:SetCurrentDirectory("aidos/public_html/")                                                                   
            DC_Impl(oScrn)                                                                                                     
            LB_Warning('Не удалось сделать текущей директорию: "aidos/public_html/"', 'Сброс WEB-базы исходных данных приложений' )              
            mFlagErr = .T.
         ENDIF                    
                                                                                             
         IF ! oFtp:DeleteFile( 'Source_data_applications' )  
            DC_Impl(oScrn)                                                                                                     
            LB_Warning( '*** ERROR: Unable to delete file!: "Source_data_applications"', 'Сброс WEB-базы исходных данных приложений' )
            mFlagErr = .T.
         ENDIF

      ENDIF
   ENDIF

   oFtp:Destroy()

   IF mFlagErr
      LB_Warning( 'При удалении WEB-базы исходных данных приложений системы "Эйдос" возникли проблемы!', 'Сброс WEB-базы исходных данных приложений' )
   ELSE
      DC_Impl(oScrn)                                                                                                     
      LB_Warning( 'WEB-базы исходных данных приложений системы "Эйдос" успешно удалены!', 'Сброс WEB-базы исходных данных приложений' )
   ENDIF
[/size]

Re: Deleting files in folders and the folders on the FTP ser

Posted: Sun Jan 29, 2017 8:18 am
by rdonnay
It looks like you are using the FTP Client from Xb2.net.

I suggest that you put Xb2.net questions on the Xb2.net forum:

http://news.xb2.net/newsgroups.php?group=xb2net

Re: Deleting files in folders and the folders on the FTP ser

Posted: Sun Jan 29, 2017 8:24 am
by Eugene Lutsenko
Thank You, Roger!

I did not know about the existence of this forum:
http://news.xb2.net/newsgroups.php?group=xb2net

Now, of course, on such issues I will write there .