Что нового

Как изменить файл через FTP?

kasper_sky

Antivirus
Сообщения
116
Репутация
1
И снова доброго времени суток, форумчане.

Возник вопрос:
Как изменить файл через FTP? В справке рылся - не нашел ни функций, ни примеров.

Есть только
Код:
_FTP_FileOpen()
_FTP_FileRead()
_FTP_FileClose()


Подозреваю, что собака зарыта
Код:
_FTP_FileOpen($hConnect, $lpszFileName [, $dwAccess = 0x80000000])

где
$dwAccess [optional] - The Local attribute (default $GENERIC_READ).
но ни примеров флагов, ни примеров сохранения нету.

Помогите новичку ;)
 

armenxxx1

Продвинутый
Сообщения
155
Репутация
56
Re: Как записать файл через FTP?

Upload
Код:
#include <FTPEx.au3>
#NoTrayIcon

$server = 'server'
$username = 'login'
$pass = 'pass'

$Open = _FTP_Open('FTP')
$Conn = _FTP_Connect($Open, $server, $username, $pass)
_FTP_FilePut($Conn, @ScriptDir & "\file.txt", "/public_html/file.txt")
$Ftpc = _FTP_Close($Open)


Download
Код:
#include <FTPEx.au3>
#NoTrayIcon

$server = 'server'
$username = 'login'
$pass = 'pass'

$Open = _FTP_Open('FTP')
$Conn = _FTP_Connect($Open, $server, $username, $pass)
_FTP_FileGet($Conn, "/public_html/file.txt", @ScriptDir & "\file.txt")
$Ftpc = _FTP_Close($Open


Passive mode Upload
Код:
$Conn = _FTP_Connect($Open, $server, $username, $pass, 1)
 
Автор
K

kasper_sky

Antivirus
Сообщения
116
Репутация
1
Re: Как записать файл через FTP?

armenxxx1
Это все я знаю. Мне нужна функция, которая будет изменять файл на самом FTP сервере.

Но если таковой не окажется - придется тогда считывать файл с сервера, дописывать инфу в него, а затем заливать его. Что очень бы не хотелось, ибо это муторно.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
kasper_sky
по другому никак. если ты видел, что какие-то программы делают это как-бы на сервере, то там просто весь процесс от тебя скрыт. а фактически файл скачивается, изменяется и закачивается обратно
 
Автор
K

kasper_sky

Antivirus
Сообщения
116
Репутация
1
Kaster
А если файл весом мегабайт в 50, а скорость интернета оставляет желать лучшего?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
kasper_sky
я не понял, что значит "если". скорость закачки от размера файла не зависит.


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

kasper_sky
если ты про альтернативные варианты изменения файла на стороне сервера, то тут могу порекомендовать получить какой-нибудь удаленный доступ к ос сервера, по ssh к примеру. тогда все делается на стороне сервера, тебе передается только данные от терминала, что есть килобайты текста.
 
Автор
K

kasper_sky

Antivirus
Сообщения
116
Репутация
1
Kaster
Это значит, что я могу испытывать трудности с редактированием, например, 50-ти мегабайтового файла с наличием 1-мбит интернет-канала.


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

Kaster
Ничего, кроме FTP не предвидится, к сожалению.

Просто я думал, что существует что-то наподобии
Код:
FileWrite()

только для FTP.

Ну на нет - и суда нет. Спасибо.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
OffTopic:
Последние сообщение вынес подальше.
 

Wfaut

Новичок
Сообщения
6
Репутация
4
Я порекомендовал бы посмотреть в сторону FTP RFC 3659, а именно команды REST.
Однако, работоспособность этой команды сильно зависит от используемого FTP-сервера и настроек на стороне сервера и OS. Обычно, админ в здравом уме и трезвой памяти это всё отключает...
 

beliy

Продвинутый
Сообщения
372
Репутация
72
варианта всего 2:
1) скачиваем с сервера, редактируем, загружаем на сервер
2) использовать систему клиент/сервер, где на сервер будет передаваться только команда которую надо выполнить. Пример реализации есть тут Но данный пример будет работать только если на сервере ОС windows, если же на сервере UNIX, то серверную часть нужно будет писать на другом ЯП (bash, perl, php, java... и все которые будут норм работать на unix системах)
 
Верх