Что нового

[Сеть, интернет] Загрузка файла на FTP

Ark

Новичок
Сообщения
2
Репутация
0
Версия AutoIt: 3.3.6.1

Описание: Скрипт должен подключаться к ftp (ftp.narod.ru), указывать логин и пароль, и соответственно заливать туда определенный файл.
Примечания:
Этот файл всегда один, имеет всегда одно и тоже название.
Т.е я запускаю скрипт, он отправляет указанный файл на ftp и закрывается.
 

kzru_hunter

Осваивающий
Сообщения
144
Репутация
49
Этот вопрос можно было бы и в разделе для новичков разместить :smile:
Код:
#Include <FTPEx.au3>

$server = "google"
$login = "login"
$password = "password"

$filepath = "C:\1.rar"
$ftppath = "/1.rar"

$hOpen = _FTP_Open('Total Commander (UTF-8)')
If not $hOpen Then
	ConsoleWrite("Не могу открыть фтп сессию" & @CRLF)
	Exit
EndIf

$hConn = _FTP_Connect($hOpen, $server, $login, $password)
If not $hConn Then
	ConsoleWrite("Не могу подключиться к ftp серверу" & @CRLF)
	Exit
EndIf

If not _FTP_FilePut($hConn, $filepath, $ftppath) Then
	ConsoleWrite("Не могу закачать файл на ftp сервер" & @CRLF)
	Exit
EndIf

ConsoleWrite("Файл успешно закачан на фтп сервер" & @CRLF)

_FTP_Close($hOpen)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Если не будет работать, можно попробовать этот кусок поменять
Код:
;...
$hConn = _FTP_Connect($hOpen, $server, $login, $password, 1)
;...
 
Автор
A

Ark

Новичок
Сообщения
2
Репутация
0
Спасибо большое, правда на народе заблокировали. :laugh:
"Вполне возможно, что ваш компьютер заражен вирусом или spyware (вредоносной программой), которая автоматически обращается к Яндексу."
Но на другой сервер всё нормально вроде.
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
Ark
вот madmasles тебе же указал, как на narod.ru загружать, там просто ввели пассивный режим как у Web-браузера не так давно, по другому и не залить, все дело в параметре 1 который его как раз и активирует в этой функции.
 

winstan

Эксплотатор)
Сообщения
406
Репутация
79
bastard
В чём именно проблема ?
а код лучше в теги ставить
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
bastard,
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.
 

RockMan

Новичок
Сообщения
67
Репутация
0
ребят подскажите по поводу этого скрипта, все ок работает, но что если мне нужно мой архив после загрузки переименовать ? и например считать информацию о времени и дописать ее в название файла в тот момент когда он будет выгружатся на фтп, или например считать инфо об имени компьютера и згрузить? может кто помочь с этим
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Если Вы хотите переименовать файл на FTP сервере, тогда используйте
Код:
#include <FTPEx.au3>
_FTP_FileRename($l_FTPSession, $s_Existing, $s_New)
так как файлов несколько, то и выполняйте эту функцию для каждого из файлов.
 
Сообщения
50
Репутация
-1
Нет, меня интересует именно копирование файлов на фтп
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Понятно, что Вас интересует копирование, но определитесь с алгоритмом действий
-Копировать файл на FTP сервер
-Переименовать файл на FTP сервере

или

-Подготавливаете файл у себя (даёте нужное название итп)
-копируете файл на FTP сервер

Вот по первому варианту, раз вы уже освоили копирование файла на сервер я Вам подсказал , ка можно его переименовать уже на FTP сервере.
По второму варианту тоже ответил ранее , как переименовать файл
 
Сообщения
50
Репутация
-1
Разобрался, тепреь еще такой вопрос, а как на удаленном FTP создать папку _FTPDirCreate ?
 
Сообщения
50
Репутация
-1
не создает


Добавлено:
Сообщение автоматически объединено:

В идеале я хочу так: на локальном компьютере скриптом создаем некую папку, копируем туда требуемые файлы, и далее копируем ее на FTP

Код:
#RequireAdmin
#include<FTPEx.au3>

$Name=@ComputerName

$sDirCreate=DirCreate("C:\test\" & $Name)



$server="ftp.myserver.ru"
$login="login"
$password="pass"


$filepath= "C:\test\test.txt"
$sFolderPath="C:\test\" & '$sCompName'
$sFtpFolderPath ="/pub/" ; здесь не знаю как правильно написать, что бы на фтпшнике создалась папка  с таким именем ка кмы уже создали  с помощью $sDirCreate


$hOpen = _FTP_Open('Total Commander (UTF-8)')
If not $hOpen Then
    ConsoleWrite("Не могу открыть фтп сессию" & @CRLF)
    Exit
EndIf



$hConn=_FTP_Connect($hOpen,$server,$login,$password, 1)
_FTP_DirPutContents($hConn,$sFolderPath, $sFtpFolderPath, 0)



ConsoleWrite("Файл успешно закачан на сервер" & @CRLF)
_FTP_Close($hOpen)
 
Верх