Вот это меня удивляет гораздо больше чем альтруист Mr.M.I.T. Зачем люди берутся за то, с чем не могут справиться?
И откуда берутся люди, которые не могут справиться с таким заданием и при этом берутся хоть за что-то?
Ну в принципе берутся они оттуда же, откуда и все, да. Родина просит героев... Но "не может справиться с таким заданием" ≈ "впервые увидел php".
Не, там класс, обработка ошибок, три счетчика и два цикла, ниодного нотиса и удобный интерфейс =) Там же фишка еще такая - выбор строки, с которой файл читать. На вскидку, из двух часов минут 40 ушло на написание в Notepad++ и отладку. и 7 проверок.
У меня эти блокнотики настроены так, чтобы был отключен ClearType, символы были жёсткими, подсветка такая, как в Borland (C++ Builder) =)
Ты меня заинтриговал 10 минут и 2 минуты на отладку. PHP: <form action="" method="post"> <input type="text" name="start"> <input type="submit" name="submit"> </form> <?php error_reporting(E_ALL | E_STRICT); $fn1 = '1.txt'; $fn2 = '2.txt'; $fn3 = '3.txt'; $fn4 = '4.txt'; if (isset($_POST['submit'])) { $start = abs((int) $_POST['start']); $fa1 = file($fn1,FILE_IGNORE_NEW_LINES); $fa2 = file($fn2,FILE_IGNORE_NEW_LINES); $fa3 = file($fn3,FILE_IGNORE_NEW_LINES); $fa4 = file($fn4,FILE_IGNORE_NEW_LINES); $c = count($fa1); if ($c != count($fa2) || $c != count($fa3)) { die('Число строк в файлах 1,2,3 не совпадает'); } if ($start > $c || $start == 0) { $start=1; } $res = array(); foreach ($fa4 as $val) { $res[] = $fa1[$start-1] . '|' . $fa2[$start-1] . '|' . $fa3[$start-1] . '|CONST||||' . $val . '|http://' . $val; $start++; if ($start > $c) { $start=1; } } var_dump($res); } die(); Upd1 забыл про тупость пользователя и отрицательные числа. Добавил abs()
Это я к тому, что своим кодом пока не поделюсь )) А как обычно все оказалось не так просто, как описано в теме.
[vs] С учетом показанного. Еще 10 минут сверху И еще +10 минут для произвольного числа файлов Но это задачи уже достаточно сильно отличающиеся от того, что хотел ТС
Если б оно было =) Надо с из четырех файлов формировать такую строку Код (Text): строка_1_из_файла_1|строка_1_из_файла_2_|стркоа_1_из_файла_3|слово||||строка_1_из_файла_4|http://строка_1_из_файла_4 строка_2_из_файла_1|строка_2_из_файла_2_|стркоа_2_из_файла_3|слово||||строка_2_из_файла_4|http://строка_2_из_файла_4 ... Строки из првых трех файлов начинать выбирать начиная с заданой по номеру, и выполнять скрипт пока не кончатся строки в файле 4. Если например в файле 1 строки кончились, а в файле 4 еще нет, то начинать с файла 1 опять выбирать строки с заданой.
аплоад это 22 строки с формой и с фигурными скобками на отдельной строке. номера задаются разными. Такое в итоге получилось ТЗ.
Ну так и остального порядка 45-60 строк Всего порядка 70-85 строк У меня влезло в 37 за 10 минут Так что 20 минут На самом деле я как-то замерял В случае нетривиальных/нетипичных задач у меня получается 50-90 строк в час. А для таких вещей 200-350 строк в час. А это зря. Неудобно и в конечном итоге бесполезное усложнение. Я бы понял требование о разном числе строк в файле1, файле2, файле3 - такое может быть. А лишний ввод - это геморрой, который никому не нужен. Идеальное приложение должно иметь всего 1 кнопку "Сделай мне хорошо" А еще лучше без кнопки совсем