Скрипт для генерации двух комплектов файлов

Александр17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
01.04.2009

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

Скрипт первый должен делать следующее: есть исходный файл - база ключевых

слов на русском языке, либо - на английском, либо - в виде смеси как из

русских, так и из английских слов (в виде txt-файла, каждое из ключевых

слов - на новой строке). Скрипт должен брать по порядку каждое слово, делать

его транслитерацию (в случае, если взято русское слово), либо - просто брать

уже готовое исходное английское слово и создавать файл с расширением .php и

именем - полученным в результате транслитерации ключевой фразы (если была

взята русская фраза), либо - именем, полученным на основе готового ключевого

слова на английском языке.

Пример: есть база следующего вида:

столы деревянные

стулья пластмассовые

пластиковые окна

stoli plastmassoviye

... скрипт должен "взять" слово "столы деревянные" и сгенерировать на его

основе файл stoli-derevyanniye.php (с остальными словами - поступить по

аналогии, например, на основе слова "stoli plastmassoviye" сгенерировать

файл stoli-plastmassoviye.php)

(Важное примечание - в именах сгенерированных файлов не должно быть

пробелов - пробелы в ключевых словах необходимо заменить "дефисом" в именах

сгенерированных файлов. Также - мягкие знаки в ключевых словах учитываться

не должны, то есть - в именах сгенерированных файлов не должно быть

апострофов или каких-то подобных знаков)

Если в базе есть одинаковые пары слов - скрипт не должен испытывать проблем

с генерацией файла, на основе этого повторяющегося ключевого слова - то

есть - либо он сразу "чистит" базу от дубликатов и затем работает с

очищенной базой, либо - просто создает тот же самый файл во второй раз, а

предыдущий файл - стирается.

Предполагается, что база ключевых слов будет большая - в районе 10000 слов,

возможно и более. То есть - необходимо, опять же, предусмотреть какое-то

кэширование (конечно, если оно вообще применимо в данном случае).

Кроме непосредственно генерации множества файлов по указанному алгоритму, в

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

вида:

$word="соответствующее ключевое слово";

?>

То есть - скрипт должен обработать вышеприведенную "примерную" базу

следующим образом: взять слово "столы деревянные", сгенерировать новый файл

с именем stoli-derevyanniye.php и записать в этот файл следующие строки:

$word="столы деревянные";

?>

.... то же самое скрипт должен проделать со всеми остальными словами.

Если реализовать на основе языка php обработку и генерацию такого большого

количества файлов - затруднительно (из-за ограничений, накладываемых

параметрами большинства серверов или самого языка) - можно сделать так,

чтобы скрипт либо разбивал большую базу на кусочки и создавал файлы

группами, например, по 50 штук и складывал эти группки в отдельные папки

(сгенерированные скриптом внутри базовой папки). Либо - чтобы скрипт

обрабатывал в цикле несколько маленьких баз последовательно и создавал бы

отдельные подпапки, соответсвующие каждой из небольших баз и генерировал в

каждой из этих подпапок файлы, с именами, соответсвующими ключевым словам,

содержащимся в этой конкретной базе (и, чтобы файлы содержали вышеуказанные

строки).

Скрипт второй должен делать следующее:

Брать исходную базу ключевых слов (ту же самую, что и в предыдущем случае) и

генерировать на ее основе (в какой-то отдельной подпапке) несколько файлов с

содержимым следующего вида:

столы деревянные

стулья

пластмассовые

пластиковые окна

...........

Общее количество ключевых слов, на основе которых генерируется один такой

файл - 50. То есть - второй скрипт должен поочередно брать из базы каждые 50

слов, генерировать на их основе новый файл с именем вида page1.php, который

содержит таблицу, в ячейки которой были бы записаны ссылки на страницы,

сгенерированные первым скриптом (таблица выглядит по вышеприведенному

примеру).

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

расширением php, файлы, которые генерирует второй скрипт должны содержать

ссылки на страницы с абсолютно идентичными именами, но с расширением htm.

Порядковый номер каждой генерируемой вторым скриптом страницы соответствует

порядковому номеру группы из 50-ти слов. То есть - при обработке первых

50-ти слов, скрипт генерирует файл с именем page1.php (который содержит

таблицу со ссылками на файлы, полученные методом транслитерации каждого из

этих 50-ти ключевых слов). Когда скрипт начнет обрабатывать следующие 50

слов - он должен записать соответствующую таблицу в файл с именем page2.php

и так далее.

Опять же - если по каким-то причинам будет проще реализовать скрипт, который

работает не с одной огромной базой ключевых слов, а с несколькими

маленькими - так и поступим - пусть скрипт обрабатывает несколько маленьких

баз (единственное, что в таком случае было бы удобно предусмотреть - это то,

что эти базы удобно поместить в отдельную папку - на том же уровне, на

котором будут размещены две другие папки, в которых будут генерироваться два

необходимых типа файлов).

Общие замечания: для удобства понимания были описаны два отдельных скрипта,

выполняющие две отдельных функции. Было бы удобно, чтобы генерация файлов

первого типа (с содержимым вида ) и

генерация файлов второго типа (с содержимым в виде вышеописанной таблицы)

производилась не двумя отдельными скриптам, а - одним.

То есть - единственное важное требование: это то, что "на выходе" мы должны

получить две папки: одну папку со множеством файлов типа php, которые

содержат строки вида

$word="столы деревянные";

?>

и имя каждого из которых сгенерировано в результате транслитерации исходного

ключевого слова на русском языке, либо взято в "готовом" виде из английского

ключевого слова. И вторую папку - с гораздо меньшим количеством программно

сгенерированных файлов, каждый из которых содержит по 50 ссылок (на файлы с

именами, идентичными сгенерированным файлам первого типа, но с расширением

htm), "заключенных" в таблицу (по вышеописанному образцу) и имя каждого из

которых генерируется в виде page$.php, где $ - порядковый номер группы из

50-ти ключевых слов.

"На входе" мы можем иметь следующее: либо одну большую базу ключевых слов в

виде txt файла (в районе 10000 слов), либо - несколько маленьких баз (по

50-100-200 слов - любое удобное число - возможно неплохо было бы даже

предусмотреть опцию следующего типа: небольшие базочки - не обязательно

должны содержать одно и то же число слов, кратное 50-ти - как только доходит

очередь до обработки следующих 50-ти слов - они "собираются" из остатков

предыдущей базочки и дополняются необходимым количеством ключевых слов из

следующей базочки - чтобы дополнить общее число до 50-ти).

Другими словами - самым важным является получение двух групп файлов разного

типа на основе базы (баз) ключевых слов. Средства, которыми это можно

реализовать - полностью на Ваше усмотрение - еще раз повторюсь - желательно,

чтобы это все был способен сделать один скрипт. Если это слишком неудобно -

можно сделать два скрипта.

P.S. В приложении приведен пример того, что имеем на входе и того, что

нужно получить на выходе.

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

Заявки фрилансеров