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