Фрилансеры предложат решение вашей задачи уже через несколько минут!

Публикация заказа на фриланс бирже не займет много времени.

11 лет назад
Александр Ц.
33 года, Украина
12 лет в сервисе
Был онлайн 9 лет назад
11 лет назад

Необходимо изготовить два скрипта.
Скрипт первый должен делать следующее: есть исходный файл - база ключевых
слов на русском языке, либо - на английском, либо - в виде смеси как из
русских, так и из английских слов (в виде txt-файла, каждое из ключевых
слов - на новой строке). Скрипт должен брать по порядку каждое слово, делать
его транслитерацию (в случае, если взято русское слово), либо - просто брать
уже готовое исходное английское слово и создавать файл с расширением .php и
именем - полученным в результате транслитерации ключевой фразы (если была
взята русская фраза), либо - именем, полученным на основе готового ключевого
слова на английском языке.

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

столы деревянные
стулья пластмассовые
пластиковые окна
stoli plastmassoviye

... скрипт должен "взять" слово "столы деревянные" и сгенерировать на его
основе файл stoli-derevyanniye.php (с остальными словами - поступить по
аналогии, например, на основе слова "stoli plastmassoviye" сгенерировать
файл stoli-plastmassoviye.php)

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

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

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

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

<?php

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

?>

То есть - скрипт должен обработать вышеприведенную "примерную" базу
следующим образом: взять слово "столы деревянные", сгенерировать новый файл
с именем stoli-derevyanniye.php и записать в этот файл следующие строки:

<?php

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

?>

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

Если реализовать на основе языка php обработку и генерацию такого большого
количества файлов - затруднительно (из-за ограничений, накладываемых
параметрами большинства серверов или самого языка) - можно сделать так,
чтобы скрипт либо разбивал большую базу на кусочки и создавал файлы
группами, например, по 50 штук и складывал эти группки в отдельные папки
(сгенерированные скриптом внутри базовой папки). Либо - чтобы скрипт
обрабатывал в цикле несколько маленьких баз последовательно и создавал бы
отдельные подпапки, соответсвующие каждой из небольших баз и генерировал в
каждой из этих подпапок файлы, с именами, соответсвующими ключевым словам,
содержащимся в этой конкретной базе (и, чтобы файлы содержали вышеуказанные
строки).

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

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

<table>
<tr>
<td><a href="stoli-derevyanniye.htm">столы деревянные</a></td>
</tr>
<tr>
<td><a href="stulya-plastmassoviye.htm">стулья
пластмассовые</a></td>
</tr>
<tr>
<td><a href="plastikoviye-okna.htm">пластиковые окна</a></td>
</tr>
...........
</table>

Общее количество ключевых слов, на основе которых генерируется один такой
файл - 50. То есть - второй скрипт должен поочередно брать из базы каждые 50
слов, генерировать на их основе новый файл с именем вида page1.php, который
содержит таблицу, в ячейки которой были бы записаны ссылки на страницы,
сгенерированные первым скриптом (таблица выглядит по вышеприведенному
примеру).
Важное примечание - несмотря на то, что первый скрипт генерирует файлы с
расширением php, файлы, которые генерирует второй скрипт должны содержать
ссылки на страницы с абсолютно идентичными именами, но с расширением htm.

Порядковый номер каждой генерируемой вторым скриптом страницы соответствует
порядковому номеру группы из 50-ти слов. То есть - при обработке первых
50-ти слов, скрипт генерирует файл с именем page1.php (который содержит
таблицу со ссылками на файлы, полученные методом транслитерации каждого из
этих 50-ти ключевых слов). Когда скрипт начнет обрабатывать следующие 50
слов - он должен записать соответствующую таблицу в файл с именем page2.php
и так далее.

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

Общие замечания: для удобства понимания были описаны два отдельных скрипта,
выполняющие две отдельных функции. Было бы удобно, чтобы генерация файлов
первого типа (с содержимым вида <?php $word="столы деревянные"; ?>) и
генерация файлов второго типа (с содержимым в виде вышеописанной таблицы)
производилась не двумя отдельными скриптам, а - одним.

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

<?php

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

?>

и имя каждого из которых сгенерировано в результате транслитерации исходного
ключевого слова на русском языке, либо взято в "готовом" виде из английского
ключевого слова. И вторую папку - с гораздо меньшим количеством программно
сгенерированных файлов, каждый из которых содержит по 50 ссылок (на файлы с
именами, идентичными сгенерированным файлам первого типа, но с расширением
htm), "заключенных" в таблицу (по вышеописанному образцу) и имя каждого из
которых генерируется в виде page$.php, где $ - порядковый номер группы из
50-ти ключевых слов.

"На входе" мы можем иметь следующее: либо одну большую базу ключевых слов в
виде txt файла (в районе 10000 слов), либо - несколько маленьких баз (по
50-100-200 слов - любое удобное число - возможно неплохо было бы даже
предусмотреть опцию следующего типа: небольшие базочки - не обязательно
должны содержать одно и то же число слов, кратное 50-ти - как только доходит
очередь до обработки следующих 50-ти слов - они "собираются" из остатков
предыдущей базочки и дополняются необходимым количеством ключевых слов из
следующей базочки - чтобы дополнить общее число до 50-ти).

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

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

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

Выбранный исполнитель
Денис Федоренко
38 лет, Украина
12 лет в сервисе
Был онлайн 10 месяцев назад
11 лет назад

$15

1 день

Отзыв заказчика
Изначально планировалось создать техническое решение на php, цель которого - генерация двух специфических типов файлов. Денис предложил сделать то же самое в среде Delphi, что, на самом деле, оказалось еще более удобным в пользовании.
Кроме технической изобретательности, могу похвалить Дениса за очень высокую скорость выполнения работы - буквально за несколько часов все было готово, что говорит не только об ответственности, но и о высоком уровне владения темой.
В общем - рекомендую этого фрилансера всем, кому нужен ответственный и деловой подход к решению разного рода технических вопросов.
Отзыв фрилансера
Такого детального ТЗ я еще не встречал. Кроме того заказчик еще несколько раз объяснил некоторые возникающие моменты и в результате написать программку не составило никакого труда. При этом было затрачено минимум времени. Оплата произведена молниеносно. Приятно работать. Спасибо! Рекомендую! В пример всем заказчикам!
Денис Федоренко
38 лет, Украина
12 лет в сервисе
Был онлайн 10 месяцев назад
11 лет назад

Другие заказы в категории «Веб-программирование»

Здесь заказчик и фрилансеры могут обсуждать заказ до начала его выполнения.
Фрилансеры могут участвовать в обсуждении только после подачи заявки.
Здесь заказчик будет контролировать выполнение заказа и общаться с исполнителем.
Доступ к этому разделу имеют только заказчик и выбранный исполнитель.
Все материалы этого раздела закрыты от поисковых систем.