Вывести файл, загружаемый сейчас по фтп

  • Автор темы Автор темы KolyaA
  • Дата начала Дата начала

KolyaA

Новичок
Как вообще теоретически можно решить эту задачу.

Есть кнопка, по нажатию на которую, запускается скрипт, скачивающий по ФТП файлы. Хочу сделать, чтобы под кнопкой отображалось название скачиваемого сейчас файла.

Как это сделать? Допустим я запущу аякс-функцию, которая каждую секунду должна получать имя которое скрипт сейчас качает. Но как она сможет их получить?
 
А что это за скрипт такой, который по нажатию одной кнопки скачивает кучу файлов с ftp?
 
А зачем его запускать через веб?
Это задача для крона и cli.
 
А зачем его запускать через веб?
Это задача для крона и cli.

Вообще хочу написать програмку, которая бы брала данные(файлы и sql-скрипт с изменениями БД) с моего локального компа и обновляла бы ими данные на боевых серверах. Но чтобы перед этим данные с боевого скачивались для сохранения.
 
Ну так и запускай ее с консоли. Зачем тут браузер?

А вообще советую не изобретать велосипед
http://www.phing.info/

В браузере всё таки удобней, можно выбрать в окошке ini-файл с настройками переноса, промежуточные результаты по-красивей выводить, предлагать варианты действий и т.п. Хотя не спорю м.б. действительно лучше в консоли.

По поводу велосипеда. И рад бы не изобретать, да где его взять. Одно время пробовал сделать с помощью Ant, даже кое-что получилось, но вышла большая затыка с кодировками, с русскими файлами там в принципе некоторые вещи нельзя было сделать. Поэтому в этот раз решил не мудрить и писать всё на php, тут уж наверняка знаешь, что не мытьём так катаньем получишь искомое.
 
Одно время пробовал сделать с помощью Ant, даже кое-что получилось, но вышла большая затыка с кодировками
Дарю мощное решение для phing:
Код:
        <!-- Кодировка в консоли может быть какой угодно, а срать в базу нам
             надо в UTF-8. Имеем костыль гигантских размеров. -->
        <php function="iconv" returnProperty="test.cp1251">
            <param value="utf-8"/>
            <param value="cp1251"/>
            <param value="Это строка на русском языке"/>
        </php>
        <php function="iconv" returnProperty="test.cp866">
            <param value="utf-8"/>
            <param value="cp866"/>
            <param value="Это строка на русском языке"/>
        </php>
        <echo />
        <echo />
        <echo>Guessing console encoding:</echo>
        <echo />
        <echo>1. Это строка на русском языке</echo>
        <echo>2. ${test.cp1251}</echo>
        <echo>3. ${test.cp866}</echo>
        <echo />
        <input propertyName="guess.encoding" defaultValue="2" validargs="1,2,3" promptChar=":">Readable string</input>
 
Вообще хочу написать програмку, которая бы брала данные(файлы и sql-скрипт с изменениями БД) с моего локального компа и обновляла бы ими данные на боевых серверах. Но чтобы перед этим данные с боевого скачивались для сохранения.

Понял, что есть одна вещь, из-за которой моя программа все равно будет неполноценной.

Дело в том, что перед обновлением сайт, конечно, должен останавливаться или переходить в состояние "на сайте ведуться технические работы". Сделать это даже phing не сможет. Наверное можно было бы с помощью ftp_cmod снимать все права с корневой папки, а после обновления возвращть. Однако этот номер не пройдёт в виндовсе, что критически важно в моём случае.
 
Дарю мощное решение для phing:
Код:
        <!-- Кодировка в консоли может быть какой угодно, а срать в базу нам
             надо в UTF-8. Имеем костыль гигантских размеров. -->
        <php function="iconv" returnProperty="test.cp1251">
            <param value="utf-8"/>
            <param value="cp1251"/>
            <param value="Это строка на русском языке"/>
        </php>
        <php function="iconv" returnProperty="test.cp866">
            <param value="utf-8"/>
            <param value="cp866"/>
            <param value="Это строка на русском языке"/>
        </php>
        <echo />
        <echo />
        <echo>Guessing console encoding:</echo>
        <echo />
        <echo>1. Это строка на русском языке</echo>
        <echo>2. ${test.cp1251}</echo>
        <echo>3. ${test.cp866}</echo>
        <echo />
        <input propertyName="guess.encoding" defaultValue="2" validargs="1,2,3" promptChar=":">Readable string</input>

Насколько я понял, вы говорите о случае, когда содержимое содержит русский текст. А как быть когда сам файл имеет русское название. Сейчас попробовал phing, он отказывается даже делать copy файла с русским названием.
 
А как быть когда сам файл имеет русское название. Сейчас попробовал phing, он отказывается даже делать copy файла с русским названием.
Что, прямо так и пишет: "Я отказываюсь делать copy файла с русским названием!"?
 
Сверху