HINTERNET hSession = NULL;
HINTERNET hConnection = NULL;
HINTERNET hDir = NULL;
TWin32FindData sFile;
hSession = fInternetOpen("FTP", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
if (hSession)
hConnection = fInternetConnect(hSession, "ftp.anywhere.ru", 21,
"user", "pass", INTERNET_SERVICE_FTP, 0, 1);
if (hConnection)
if (fFtpSetCurrentDirectory(hConnection, "\\pub"))
hDir = fFtpFindFirstFile(hConnection, "myapp.exe", &sFile, 0, 0);
WinInet API
InetHandle := InternetOpen(PChar('FTP'),
INTERNET_OPEN_TYPE_DIRECT,
Nil, Nil, 0);
FtpHandle := InternetConnect(InetHandle, PChar
('ftp.my.ru'), 21, PChar
('User'),PChar('Pasword'),
INTERNET_SERVICE_FTP, 0, 0);
FtpSetCurrentDirectory(FtpHandle, PChar(FTPDir));
FtpFindFirstFile(FtpHandle, PChar
('test.php'), sRec, 0, 0)
hFile := ftpOpenFile(FtpHandle,'test.php',
GENERIC_WRITE, FTP_TRANSFER_TYPE_UNKNOWN, 0);
Файл находится в директории котрую выбираю FtpSetCurrentDirectory, а размер файла становится 0 байт. где тут может быть ошибка?
Вот рабочий код, проверять на соединение нужно и на установку директории:
Не хочет... Это может от сервера как зависить?
Цитата:
Originally posted by student_ds
Не хочет... Это может от сервера как зависить?
Не хочет... Это может от сервера как зависить?
не хочет, а в каком месте не проходит?
Просто не находит в файл. Подключение, доступ проходят нормально.
Цитата:
Originally posted by student_ds
Просто не находит в файл. Подключение, доступ проходят нормально.
Просто не находит в файл. Подключение, доступ проходят нормально.
а hDir = NULL ?
Именно так.
Цитата:
Originally posted by student_ds
Именно так.
Именно так.
а файл в той директории точно есть? ты смотрел?
Файл, тот есть точно, смотрел, и не раз. С сервером может быть чего?
Цитата:
Originally posted by student_ds
Файл, тот есть точно, смотрел, и не раз. С сервером может быть чего?
Файл, тот есть точно, смотрел, и не раз. С сервером может быть чего?
Попробуй на другом тогда точно знать будешь! :)
Цитата:
Originally posted by student_ds
hFile := ftpOpenFile(FtpHandle,'test.php',
GENERIC_WRITE, FTP_TRANSFER_TYPE_UNKNOWN, 0);
Файл находится в директории котрую выбираю FtpSetCurrentDirectory, а размер файла становится 0 байт. где тут может быть ошибка?
hFile := ftpOpenFile(FtpHandle,'test.php',
GENERIC_WRITE, FTP_TRANSFER_TYPE_UNKNOWN, 0);
Файл находится в директории котрую выбираю FtpSetCurrentDirectory, а размер файла становится 0 байт. где тут может быть ошибка?
Если хочешь читать файл, тогда нужен GENERIC_READ.
Дык, это я знаю, мне писать в файл надо, с правами доступа все нормально, позволяют.
Цитата:
Originally posted by student_ds
Дык, это я знаю, мне писать в файл надо, с правами доступа все нормально, позволяют.
Дык, это я знаю, мне писать в файл надо, с правами доступа все нормально, позволяют.
Ага. Файл может иметь 0-ю длину, если в конце записи его не закрыть.
Да он для записи и не открывается, проблемма в том что ни FtpFindFirstFile, ftpOpenFile файлы не видят и не открывают, а соединение и подключение прорходят нормально, даже директории меняются.
Цитата:
Originally posted by student_ds
Да он для записи и не открывается, проблемма в том что ни FtpFindFirstFile, ftpOpenFile файлы не видят и не открывают, а соединение и подключение прорходят нормально, даже директории меняются.
Да он для записи и не открывается, проблемма в том что ни FtpFindFirstFile, ftpOpenFile файлы не видят и не открывают, а соединение и подключение прорходят нормально, даже директории меняются.
А если после FtpFindFirstFile написать команду GetLastError(), то она какой код ошибки возвращает?
Все разобрался, спасибо за содействие.
Цитата:
Originally posted by student_ds
Все разобрался, спасибо за содействие.
Все разобрался, спасибо за содействие.
в чем проблема то была? ты хоть для истории расскажи :)
А дело всеё было в сервере, какие-то там настройки хитрые установлены наверное, не измения код начал подключаться к другим северам, и всё совершенно нормально работало, блин... обидно, два дня парился...