ФорумПрограммированиеPHP для идиотов → Ошибка при работе с функциями ftp

Ошибка при работе с функциями ftp

  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Сен. 26, 2009, 1:28 д.п., спустя 2 часа 4 минуты 35 секунд

    права на запись?
  • OFF

    Сообщения: 429 Репутация: N Группа: Адекваты

    Spritz Сен. 26, 2009, 3:52 д.п., спустя 2 часа 23 минуты 19 секунд


    Warning: ftp_put() [function.ftp-put]: Type set to A in
    вот в этой строке
    ftp_put($open, $name1, $name2, FTP_ASCII);


    А скажи пожалуйста, существует ли путь($name1) на сервере и не перепутал ли ты аргументы функции местами?
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 26, 2009, 5:31 д.п., спустя 1 час 39 минут 27 секунд


    }/{EHR, а просто, без пхп ты пробовал этот файл загрузить на фтп?
    Всмысле ТоталКомандером к примеру? Если да, то закачивается
    Спустя 144 сек.


    Warning: ftp_put() [function.ftp-put]: Type set to A in
    вот в этой строке
    ftp_put($open, $name1, $name2, FTP_ASCII);


    А скажи пожалуйста, существует ли путь($name1) на сервере и не перепутал ли ты аргументы функции местами?
    Он должен лить в корень. Первый аргумент - это имя под которым закачиватьб на фтп, второй - какой фаил закачивать
    Спустя 21 сек.

    права на запись?
    На папках стоят 777
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Сен. 26, 2009, 12:01 п.п., спустя 6 часов 29 минут 54 секунды

    слу есть идея
    ты поставил ASCII и пытаешься включить "Type set to A" а попробуй поставить БИНАРИ вместо АСКИ
  • Dr.TRO

    Сообщения: 254 Репутация: N Группа: Адекваты

    Spritz Сен. 26, 2009, 12:36 п.п., спустя 34 минуты 47 секунд

    1. Типы файлов
    Тип файла указывается командой TYPE:

    TYPE [A [N|T|C] | E | I | L ]

    Стандарт протокола FTP рассматривает несколько типов файлов:
    - текстовой файл в формате ASCII (используется по умолчанию). Передающая сторона, прежде чем отправить файл, должна перевести его из кодировки, используемой на данной машине, в формат ASCII. Соответственно, принимающая сторона должна произвести аналогичные действия после приема файла. Параметр команды: A
    Примечание: как известно, в ОС Windows конец строки текстового файла обозначается двумя байтами CR LF, а в Unix подобных ОС - одним байтом LF. Благодаря вышеописанной технике передачи данных, файл, переданный, например, из ОС Windows на машину с ОС Linix, будет преобразован средствами протокола FTP и готов к использованию без дальнейших преобразований.
    - текстовые файлы в формате EBCDIC. Это способ передачи текстовых файлов применяется, когда и передающая и принимающая сторона используют кодировку EBCDIC. Параметр команды: E;
    - двоичные файлы. Данные посылаются как сплошной поток бит. Параметр команды: I;
    - локальный тип файла. Способ передачи двоичных файлов между компьютерами с различной длиной байта. При этом количество бит в байте определяется передающей стороной. Предположим, что данные пересылаются с компьютера, размер байта которого 9 бит, на компьютер с длиной байта 8 бит. Передающая сторона объявляет тип файла как локальный с длиной логического байта 9. Принимающая сторона должна сама определить, как представить принятые данные в удобной для себя форме. Например, она может разместить принятые логические байты длиной 9 бит в слова размером по 16 бит. Параметр команды: L.
    Сервис FTP, реализованный в ЗОС "Феникс", поддерживает текстовые файлы в кодировке ASCII и двоичные файлы.

    2. Контроль формата файла
    Параметр контроля формата указывается в команде TYPE:

    TYPE [A [N|T|C] | E | I | L ]

    Этот параметр, имеющий смысл только у текстовых файлов формата ASCII и EBCDIC, определяет вертикальную разметку файла. Данный параметр имеет смысл, если файл передается на удаленный узел с целью печати на принтере, и может принимать следующие значения:
    - не для печати (non print). Используется по умолчанию и обозначает, что никакой контрольной информации о разметки в файле нет. Параметр команды: N;
    - Telnet format controls. Файл содержит информацию о вертикальной разметке, закодированную символами форматов ASCII/EBCDIC таким как <CR>, <LF>, <NL>, <VT>, <FF>. Последовательность <CRLF> обозначает конец строки. Параметр команды: T;
    - контроль каретки (Carriage control) (ASA). Первый символ каждой строки не печатается и трактуется как управляющий вертикальной разметкой в формате ASA (FORTRAN). Параметр команды: C.
    Сервис FTP, реализованный в ЗОС "Феникс", поддерживает только формат non print.
    Спустя 98 сек.
    Только нинадо начинадь что то мол только для FenixOS, то стандарты переведенные на русский (:
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Сен. 26, 2009, 1:15 п.п., спустя 39 минут 3 секунды

    кусок лога из заливки html файла на хост


     
    TYPE I
    200 Type set to I
    PASV
    227 Entering Passive Mode (90,156,153,196,50,144).
    STOR closure.html
    150 Opening BINARY mode data connection for closure.html
    226 Transfer complete.
    TYPE A
    200 Type set to A
    PASV
    227 Entering Passive Mode (90,156,153,196,50,173).
    LIST
    150 Opening ASCII mode data connection for file list
    226 Transfer complete.


    видишь он его в бинарном заливает и еще type=I
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 26, 2009, 1:56 п.п., спустя 40 минут 45 секунд

    Попробовал поменять на FTP_BINARY, ошибка теперь такая: Type set to I
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 26, 2009, 2:11 п.п., спустя 15 минут 37 секунд

    Ну а как тогда по другому попробовать создать текстовый фаил по ftp?
  • Dr.TRO

    Сообщения: 254 Репутация: N Группа: Адекваты

    Spritz Сен. 26, 2009, 3:13 п.п., спустя 1 час 2 минуты 1 секунду

    cURL, сокеты, file_get_contents(в теории)
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 26, 2009, 3:33 п.п., спустя 20 минут 16 секунд

    мне нужно именно по FTP заливать
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Сен. 26, 2009, 4:16 п.п., спустя 43 минуты 1 секунду


    мне нужно именно по FTP заливать
    заливай курлом …
    Спустя 294 сек.
    http://clear.helldude.ru/2009/09/26/curl-%D0%B7%D0%B0%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC-%D0%BF%D0%BE-%D1%84%D1%82%D0%BF/
    Сапожник без сапог
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 26, 2009, 4:17 п.п., спустя 30 секунд

    а примерчик не подкините?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Сен. 26, 2009, 4:19 п.п., спустя 1 минуту 42 секунды


    а примерчик не подкините?

    http://clear.helldude.ru/2009/09/26/curl-%D0%B7%D0%B0%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC-%D0%BF%D0%BE-%D1%84%D1%82%D0%BF/
    все умрут, а я изумруд
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz Сен. 26, 2009, 4:35 п.п., спустя 16 минут 18 секунд

    А как сам dudecurl подключить?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Сен. 26, 2009, 4:41 п.п., спустя 5 минут 58 секунд


    А как сам dudecurl подключить?

    это пример без дудкурла, дудкурл пока не поддерживает фтп, в версии 0.3 сделаю поддержку. там я думаю о фичах:
    1. автоматическая обработка форм
    2. рефакторинг
    3. поддержка фтп
    4. указание каких нить спецвещей, как например кодирование/декодирование кукисов и ответа заголовков от сервера (навеяно ебаный мейл.ру, на котором уебаны программисты не слышали про кодирование кукисов, я потерял целые сутки заходя туда) ))
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!