Сайт переносится с Joomla 1 на J 1.5 Перенести базу VM на новый сайт с сохранением старых URL. Новый new.zona-s.ru, старый zona-s.ru Изменить расположение модулей на главной странице Видоизменить отображение товаров в каталоге и отображение единицы товара. Добавить соц. ...
Заливщик файлов по ftp с поддержкой прокси
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Нужен заливщик файлов по 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% нужно обдумать этот вариант
- Похожие заказы
- Веб-программирование2 заявкиЗакрыт13 лет назад
Требуется РНР программист для доработки функционала сайта на Joomla. Краткаое ТЗ 1. Прикрутить google map к компоненту Mosets Hot Property, с возможностью вручную устанавливать координаты объекта на карте в админке сайта. 2. Изменить логику поиска объектов в ...
Веб-программирование1 исполнительЗавершен13 лет назад1) Убрать id новости... сделать новости вида hd-antenna.ru/staty/o-sputnikovih-antennah.html 2) Сделать снова вывод новостей... лучших за месяц... примерно как щас (там сделаны обычные ссылки), т.к. раньше был вывод новостей... щас куда то пропал, поэтому поставил обычные ссылки... 3) ...
Веб-программирование1 исполнительЗакрыт13 лет назадДоброго дня. есть скрипт редеректа - вот пример он вставляеться в хтмл страницу и свое дело делает, но нужна некоторая доработка допустим у меня есть 5 или более урл - нужно чтобы каждый раз ...
Веб-программирование1 исполнительЗавершен13 лет назад- $50
Плеер для радио должен поддерживаться всеми браузерами, должна быть возможность сменить шаблон но не особо важно. Обязательно регулятор громкости, кнопка play/pause, stop, при нажати на логотип переход на указаный нами сайт. Может быть какие то визуальные ...
Веб-программирование2 заявкиЗакрыт13 лет назад - $10
Нужно сделать: Форма обратной связи+счетчик посещений. Цмс: не знаю какая Адер сайта: holtov. com.ua Счетчик: Live Internet (код получит исполнитель) _______________________________________ Адрес:обратная связь- форма бланка: Ф.И.О.* E-mail* Контактный телефон Комментарий* (тут под формой написать пояснение -" Здесь Вы можете оставить ...
Веб-программирование4 заявкиЗакрыт13 лет назад - $50
Сделать возможность просматривать таблицу с заказами только для залогиненных пользователь. Сейчас все пользователи могут видеть эту таблицу. Смотрите скриншот Страница сайта по адресу http://futsal13 dot com/ futsal13 / pages.php? pageid=6 - пробелы ...
Веб-программирование1 исполнительЗавершен13 лет назад - $50
Здравствуйте, нужен Flash плеер для проигрывания FLV + исходник. Нужно поставить копирайт сайта в него. Возможности Стоп, плей, увеличить на весь экран, качество видео несколько вариантов. Также прокрутка.
Веб-программирование2 заявкиЗакрыт13 лет назад У меня XML шаблон, в галереи которого, нет возможности добавления позиций (помимо предусмотреных) при помощи XML файла. Но есть исходник.Нужно добавить в галерею большее количество картинок, используя исходник! этот шаблон: http://activeden.net/item/swf-xml-portfoliostudio/full_screen_preview/21475
Веб-программирование7 заявокЗакрыт13 лет назад- $50
Интегрировать форум на сайт на вордпреcсе таким образом, чтобы форум был частью сайта: http://site.ru/forum Оплата после выполнения и проверки работоспособности форума. Укажите свою цену и сроки.
Веб-программирование1 исполнительЗавершен13 лет назад