ФорумПрограммирование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 г. 13: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 г. 13:56, спустя 40 минут 45 секунд

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

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

    Spritz 26 сентября 2009 г. 14:11, спустя 15 минут 37 секунд

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

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

    Spritz 26 сентября 2009 г. 15:13, спустя 1 час 2 минуты 1 секунду

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

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

    Spritz 26 сентября 2009 г. 15:33, спустя 20 минут 16 секунд

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

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

    Spritz 26 сентября 2009 г. 16: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 г. 16:17, спустя 30 секунд

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

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

    Spritz 26 сентября 2009 г. 16: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 г. 16:35, спустя 16 минут 18 секунд

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

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

    Spritz 26 сентября 2009 г. 16:41, спустя 5 минут 58 секунд


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

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

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