Flatik.ru

Перейти на главную страницу

Поиск по ключевым словам:

страница 1

Необходимо написать несколько небольших скриптов PHP.


Есть MySQL база к работающей CMS. Надо внести некоторые групповые изменения непосредственно в базу, поскольку такие групповые операции в CMS не предусмотрены.

Требования:


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

Интерфейс: простейшая индикация выполнения (сообщить выполнен ли скрипт без ошибок или возникли затруднения) + лог совершенных действий.

Кодировка базы: UTF8

Безопасность: ничего особого не требуется – поставим .htpasswd

Задание 1: Скрипт для добавления изображений



Исходные данные:

  • Таблица mySQL.

  • Файлы изображений и с текстом на сервере в определенной директории. Файлы имеют имена в виде: <код>_xxx.<расширение>.

  • Вызов скрипта будет производиться удаленно. Строка вызова будет передавать параметры: <код>, <флаг текста>



Инструкция:

  1. Найти в таблице запись, где id_external = <код>

  2. Если найдено:

    1. Ищем файлы, имена которых начинаются с <код>. Если найдено:

      1. Файлы изображений (расширения .jpg .gif) перемещаются в рабочую директорию. Если в рабочей директории уже есть файлы с такими же названиями, то они заменяются на новые без предупреждений.

      2. Имена файлов изображений с путем заносятся в поля найденной записи. Поле выбирается исходя их постфикса имени файла, в соответствие с таблицей из задания №2.

      3. Если <флаг текста> установлен, то ищется файл с именем <код>_1.txt и содержимое вноситься в поле description. Текст перекодируется из win-1251 в UTF8.

      4. Текстовые файлы удаляются, вне зависимости от установки флага.

    2. Примечание: по идее все файлы в директории будут иметь в названии тот же <код> который предается, как параметр. Но если будут файлы, с другим <кодом> то они не должны попадать в запись.

  3. Если не найдено:

    1. Все файлы, имена которых начинаются с <код>, в исходной директории удаляются.



Задание 2: Обработка имеющихся записей


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

Иногда несколько записей ссылаются на одни и те же изображения.


Надо привести имена изображений к единому виду и для каждой записи должны быть свои, отдельные изображения в директории.
Исходные данные:

  • Таблица mySQL, в полях указаны ссылки на изображения

  • Файлы изображений там же на сервере

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


Инструкция:

  1. Во всех существующих записях, в которых есть ссылки на изображения, изменить их:

    1. Проверить нужно ли обрабатывать запись: если значение поля custom_field_48 > 9999, то запись пропускаем.
      Если же нет, то делать следующее:

    2. Скопировать файл изображения, на которое ссылается запись, под новым именем (<код> + постфикс). Значение <код> берется из поля id_external. В значении поля могут быть русские буквы – наследие 1С – их надо преобразовать в латинские (по любому алгоритму – лишь бы значение поля оставалось уникальным).
      Известно, что файлов с именами, под которыми их будем копировать, в директории нет - конфликтов не будет.
      Если изображение на которое ссылается значение в поле, то поле очищается – пустая строка или NULL.

    3. Если исходное изображение находиться не в директории /_mod_files/ce_images/eshop/ , то записать его название с полным путем в отдельный лог, чтобы потом можно было их вычистить.

    4. Изменить строку в записи на новое название изображения. Если поле пустое, то пропускаем его. Список полей в таблице 1 ниже.

    5. Проверить наличие ссылок на изображения в поле description внутри html-текста (в теге img) (может пригодиться html-парсер). Если такая ссылка имеется, то создать копию файла изображения в директории /_mod_files/ce_images/eshop-in/ переименовать его и изменить ссылку в тексте на копию изображения и обновить поле description.

    6. Значение поля custom_field_48 = custom_field_48 +10000.

  2. После прохода по всем записям переместить все исходные изображения( в названии которых нет новых постфиксов) в отдельную директорию. (/_mod_files/ce_images/eshop/oldimg/ )

Таблица 1



Поле

Новое значение

Примечание

ext_picture

<код>_box1.<расширение>

Изображение. Меняем на новое имя (и новый путь, если перемещаем). Расширение оставляем какое было.

ext_popup_picture

<код>_box2.<расширение>

То же

ext_small_picture

<код>_box0.<расширение>

То же

custom_field_33

<код>_scr1.<расширение>

То же

custom_field_34

<код>_scr2.<расширение>

То же

custom_field_35

<код>_scr3.<расширение>

То же

custom_field_36

<код>_scr4.<расширение>

То же

custom_field_37

<код>_scr5.<расширение>

То же

description

<код>_add01.<расширение>

Изображение. Меняем на новое имя и новый путь. Расширение оставляем какое было. Число увеличиваем от 01 и далее, для каждой записи.


Задание 3: Добавление готовых данных


В запись добавить текст в html-виде и ссылки на изображения.
Исходные данные:

  • Таблица mySQL, в которой есть «незаполненные» записи.

  • Файлы изображений. Имена файлов уже имеют вид: <код> + постфикс. Код совпадает со значением поля id_external , постфикс указывает в какое поле вставлять ссылку на изображение.

  • Файлы с текстом. Имена файлов уже имеют вид: <код> + постфикс.

  • Файлы находятся уже на сервере в отдельной директории.


Инструкция:

  1. Критерий «незаполненности»: для изображений - [поля ext_picture или ext_small_picture равны ‘’ или NULL], для текста - [длинна строки из поля description меньше 10 символов].

  2. Проходим по всем записям, и если они «незаполнены», то смотрим есть ли файлы изображений имеющие в названии <код>_ и текстовые файлы (с расширением .txt) имя которых совпадает с <код>. Значение <код> берется из поля id_external

  3. Найденные файлы изображений перемещаем из исходной директории в рабочую.

  4. Текст добавляем в поле: description. При добавлении текста, переводим его в html: каждую строку текста превращаем в параграф (добавляем теги P в начало и конец). И переводим в кодировку UTF8 из win-1251.

  5. При заполнении полей с именами файлов изображений:
    выбираем поле в соответствии с постфиксом в названии файла

  • ext_picture _box1

  • ext_popup_picture _box2

  • ext_small_picture _box0

и добавляем путь: _mod_files/ce_images/eshop/ к названию файла.

Задание 4: Копирование контента


Маленький скрипт.

Копируем 1 запись в другую. С минимальным интерфейсом – 2 поля и 1 переключатель.


+ какой-нибудь стандартный парольный доступ к интерфейсу (желательно с привязкой к кукам – так чтобы удобно было заходить, без постоянного ввода пароля) – или что-то подобное на ваш выбор. Особой защиты от взлома не надо, так – чтобы случайно не зашли.
Исходные данные:

  • Таблица mySQL.

  • 2 поля на экране: в 1 поле оператор вставляет значение id_external откуда копируем, во 2 поле – куда копируем.

  • Переключатель на экране - с обложкой или нет (по умолчанию - вЫключен): флаг1


Что надо:

  1. Находим в таблице запись, где id_external = поле1 и копируем в запись, где id_external = поле2 следующие поля:

announce

special_announce

description

weight


custom_field_29

custom_field_30

custom_field_31

custom_field_32

custom_field_33

custom_field_34

custom_field_35

custom_field_36

custom_field_37

custom_field_42

custom_field_49

custom_field_50

custom_field_51

Если флаг1 включен, то следущие поля тоже:

ext_picture

ext_popup_picture

ext_small_picture


  1. Сообщаем результаты операции – успешно или нет.

В качестве результата работы получаю от вас отлаженные php-скрипты.


Способы оплаты обсуждаются – если оплата по факту, то удобный для вас перевод денег, если предоплата - то «защищенная сделка».

При продолжении сотрудничества условия будем обсуждать.

Необходимо написать несколько небольших скриптов php

Есть Mysql база к работающей cms. Надо внести некоторые групповые изменения непосредственно в базу, поскольку такие групповые операции в cms не предусмотрены

83.25kb.

30 09 2014
1 стр.


Урок 1: Что такое php

В этом уроке вы создадите вашу первую простейшую php-страницу. Здесь также вы сможете проверить, правильно ли настроен ваш сервер для работы php

995.71kb.

10 10 2014
1 стр.


Общее описание задачи

Необходимо разработать скрипт фотохостинга на основе кобминации функционала существующий скриптов

76.52kb.

09 09 2014
1 стр.


Улучшена работа с captcha. Данные запоминаются в базе данных. Для использования старого алгоритма работы необходимо установить в dbconn php константу define
98.35kb.

10 10 2014
1 стр.


Перенос сайта church by

Сохранение всех урлов в том же виде (на всех старых урлах должны быть рабочими jawa и php скрипты, в частности должны быть рабочими php коды бирж sape, trustlink)

97.97kb.

09 10 2014
1 стр.


Разработка web портала на основе php технологии с использованием mysql

Целью данного проекта является создание системы, которая автоматизировала бы выполнение следующих задач: создание и разработка html/php-файлов с учетом стиля разрабатываемой веб-си

27.47kb.

08 10 2014
1 стр.


Оратория "Нагасаки" 1

Голубев, тем не менее, и посоветовал мне написать музыку. Я отказался и довольно решительно, однако несколько позже я еще раз вернулся к стихотворению и решил, что хотя стихи неуда

39.46kb.

15 09 2014
1 стр.


Самые-самые близкие друзья и соратники

Необходимо написать ответ в виде фамилия имя того, о ком говорится в вопросе. Каждый правильный ответ оценивается 1 баллом. За неправильные ответы баллы не вычитаются!

53.95kb.

17 12 2014
1 стр.