Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Нужен заливщик файлов по ftp с поддержкой прокси и установкой прав на определенные файлы

далее по тексту "скрипт" (script.php)

Архитектура скрипта должна быть следующей:

./

./ftps

..ftp.txt

..gftp.txt

..bftp.txt

./proxy

..p.txt

./out

..{date}.txt

./content

./tmp

log.txt

script.php

Папка ftps:

создаетса файл с названием ftp.txt в который добовляютса списком ftp сервера в следующем формате разделенные табуляцией (каждый с новой строки):

door|http://kukewol.uphero.com|kukewol.uphero.com|a557555:x1yrrq5|/public_html/

{siteD}|{siteURL}|{siteFTP}|{siteLP}|{siteP}

разделителем являетса "|" должно быть 5 секций разделенные между собой |

1-ая {siteD} секция имя папки которую должен создать скрипт на ftp и в которую будет заливатса весь контент

2-ая {siteURL} секция полный урл сайта

3-ая {siteFTP} секция сервер ftp к которому конектитса скрипт

4-я {siteLP} секция логин и пароль между ними разделитель ":" (login:passwd)

5-ая {siteP} секция это путь от корня сервера, в данном примере /public_html/, тоесть заходя на сервер скрипт должен сначало войти в эту папку и только потом уже отработать. Так же путь часто бывает "/" тоесть при входе скрипту уже не куда заходить не нужно а можно сразу отрабатывать задачу. Все эти параметры задаютса через 5 секцию и заранее извесны.

Так же стоит учесть что список ftp может быть маленьким но и может быть большым например 5000 серверов, во избежании зависания скрипта возможно имеет смысл небольшие списки до 500 шт загружать через форму свыше 500 заливать напрямую в папку скрипта.

файл gftp.txt сюда скрипт записывает сервера на которые удалось залить, сервера записываютса в том же формате что и в файле ftp.txt

файл bftp.txt сюда скрипт записывает сервера на которые по каким либо причинам не удалось залить (ошибки записываютса в файл log.txt)

Папка proxy:

в файл p.txt добовляем прямым заливом или через форму список прокси в формате ip:port прокси могут быть http или сокс (незнаю что лучше)

Скрипт для каждого ftp берет из этого файла прокси.

при ошибке соединения прокси удоляетса из файла p.txt и берется следующий до тех пор пока залив не произойдет.

Но так же необходимо оставить возможность работы скрипта без прокси серверов.

Папка out:

название файла {date}.txt должно содержать текущую дату заливки. этот файл создается после начала работы и в него записываютса данные из блока секции 1 и 2 в следующем формате:

{siteURL}/{siteD}/page.php?q=mysitemap , (тоесть как пример http://kukewol.uphero.com/door/page.php?q=mysitemap)

Папка content :

в папке контент лежат заранее подготовленные в ручную файлы есть постоянные папки и файлы есть непостоянные тоесть они могут быть удаленны или добавленные по необходимости, но скрипт должен заливать ВСЕ файлы которые находятса в папке content.

Постоянные:

папка cache

файл page.php

файл template.txt

файл key.txt

файл text.txt

файл page.php содержит мой php код в этом коде есть строка которая содержит полный путь скрипта, поэтому прежде чем заливать файлы скрипт должен добавить урл и создоваемую папку текущего ftp сервера на который будет производитса заливка,

для этого в файле page.php добавлен в нужное место оператор {siteURL} и {siteD}.

p.s Для того чтобы не заливать не исправленный файл page.php имеет смысл хранить его в другой папке как шаблон.

Процесс работы должен заключатся в следующем :

в скрипт добовляются ftp и proxy сервера в описанном выше формате.

При старте скрип берет первый ftp сервер в списке, парсит файл page.php на наличие ключей {siteURL} и {siteD} добовляет вместо них данные от ftp согласно описанного выше формата.

заходит в папку tmp проверяет пуста ли она если не пуста то все удоляет и записывает файл page.php с добавленными параметрами.

После этого заходит на сервер ftp по {siteP} проверяет есть ли папка {siteD} если есть удоляет ее и создает папку {siteD} если нет то создает {siteD} дает папке {siteD} права 777 (полное чтение исполнение)

заливает в папку {siteD} данные из каталога content и файл page.php из папки tmp

после заливки всех данных устанавливает права на папки и файлы находящиеся в {siteD}:

папка cache - 777

файл page.php - 755

файл temp.txt - 666

файл key.txt - 666

файл text.txt - 666

На остальных не постоянных папках либо файлах права не меняет.

После установки прав записывает в папку out файл {date}.txt текущий залитый ftp согласно описанного выше формата.

После записи в файл {date}.txt берет следующий ftp сервер в списке, отрабатывает задание и добовляет результат в {date}.txt и так далее до конца списка ftp.

во время работы скрипта необходим какойнибуть индикатор прогресса, например {всего ftp:залито ftp:не залито ftp из за ошибки}

Так же необходимо сохронять в файл log.txt логи процесса чтобы в случае необходимости посмотреть в чем проблемма.

Все выше описанные права доступа на файлы и папки устанавливать необходимо обязательно.

PS думаю что можно все папки и файлы заранее заархивировать и уже архивом заливать на ftp а там делать unzip тк все фришники с php будут 100% нужно обдумать этот вариант

13 лет назад
the4gamblers
Александр 
43 годаРоссия
13 лет в сервисе
Был
13 лет назад
  • Похожие заказы
  • Сайт переносится с Joomla 1 на J 1.5 Перенести базу VM на новый сайт с сохранением старых URL. Новый new.zona-s.ru, старый zona-s.ru Изменить расположение модулей на главной странице Видоизменить отображение товаров в каталоге и отображение единицы товара. Добавить соц. ...

    Закрыт
    13 лет назад
  • Требуется РНР программист для доработки функционала сайта на Joomla. Краткаое ТЗ 1. Прикрутить google map к компоненту Mosets Hot Property, с возможностью вручную устанавливать координаты объекта на карте в админке сайта. 2. Изменить логику поиска объектов в ...

    Завершен
    13 лет назад
  • 1) Убрать id новости... сделать новости вида hd-antenna.ru/staty/o-sputnikovih-antennah.html 2) Сделать снова вывод новостей... лучших за месяц... примерно как щас (там сделаны обычные ссылки), т.к. раньше был вывод новостей... щас куда то пропал, поэтому поставил обычные ссылки... 3) ...

    Закрыт
    13 лет назад
  • Доброго дня. есть скрипт редеректа - вот пример он вставляеться в хтмл страницу и свое дело делает, но нужна некоторая доработка допустим у меня есть 5 или более урл - нужно чтобы каждый раз ...

    Завершен
    13 лет назад
  • $50

    Плеер для радио должен поддерживаться всеми браузерами, должна быть возможность сменить шаблон но не особо важно. Обязательно регулятор громкости, кнопка play/pause, stop, при нажати на логотип переход на указаный нами сайт. Может быть какие то визуальные ...

    Закрыт
    13 лет назад
  • $10

    Нужно сделать: Форма обратной связи+счетчик посещений. Цмс: не знаю какая Адер сайта: holtov. com.ua Счетчик: Live Internet (код получит исполнитель) _______________________________________ Адрес:обратная связь- форма бланка: Ф.И.О.* E-mail* Контактный телефон Комментарий* (тут под формой написать пояснение -" Здесь Вы можете оставить ...

    Закрыт
    13 лет назад
  • $50

    Сделать возможность просматривать таблицу с заказами только для залогиненных пользователь. Сейчас все пользователи могут видеть эту таблицу. Смотрите скриншот Страница сайта по адресу http://futsal13 dot com/ futsal13 / pages.php? pageid=6 - пробелы ...

    Завершен
    13 лет назад
  • $50

    Здравствуйте, нужен Flash плеер для проигрывания FLV + исходник. Нужно поставить копирайт сайта в него. Возможности Стоп, плей, увеличить на весь экран, качество видео несколько вариантов. Также прокрутка.

    Закрыт
    13 лет назад
  • У меня XML шаблон, в галереи которого, нет возможности добавления позиций (помимо предусмотреных) при помощи XML файла. Но есть исходник.Нужно добавить в галерею большее количество картинок, используя исходник! этот шаблон: http://activeden.net/item/swf-xml-portfoliostudio/full_screen_preview/21475

    Закрыт
    13 лет назад
  • $50

    Интегрировать форум на сайт на вордпреcсе таким образом, чтобы форум был частью сайта: http://site.ru/forum Оплата после выполнения и проверки работоспособности форума. Укажите свою цену и сроки.

    Завершен
    13 лет назад