Как вариант - аналогично загрузи файл, потом проверь по str-count сколько в нем ?> и разбей его на 2 куска - ДО последнего ?> и после него.
И между ними вклей свой код аналогично примеру выше.
Отличие от алгоритма вверху - после ?> может быть что угодно.
А если тебе просто надо вставить этот код на страницу, то можно и не искать последний, а просто воткнуть код перед первым найденным ?> (Добавление)
atm87 пишет:
str_replace?
Он заменит тебе ВСЕ вхождения, так что в данном тобой документе твой код будет вставлен аж 6 раз. А зачем тебе 6 однотипных команд в одном файле?
Нет, тебе все четко объяснили. Ты требуешь ВСЕГО на ВЫСОКОМ уровне и сразу объяснить.
Себя помню - просто садился и разбирал исходники. Читал про команды, задавал КОНКРЕТНЫЕ вопросы (посмотри мои темы на этом форуме).
А так, как ты пишешь - это уже уровень не бэйсик, и даже не адвансед, это профи.
Начинай с изучения HTML (формы), затем (или одновременно) - переходи на задачи на php.
Поставь локальный сервер (советую Vertrigo Serv - есть все и с хорошими настройками) и начинай потихоньку кодить.
А за конкретными "непонятками" уже приходи сюда.
Ну а насчет "скрипки и Чайковского" - это намек, что ты имеешь скрипку (php), а тут же хочешь вместо гамм играть произведения высокого уровня (лички, форумы, и т.д.), хотя даже смычок (HTML) толком держать пока не умеешь.
Ничего, все так начинали. Мне то еще сложнее было, я начинал на рубэйсике на компах Искра-1256, так что мне до сих пор сложно автоматом писать синтаксис команд...
Ну так загони все строки в массив, а дальше foreach по массиву с проверкой строки через strpos на наличие этих твоих определителей.
Как нашел - делай unset следующим 23 строкам (через тот же цикл или просто счетчиком) и продолжай поиск.
А зачем именно менять session_id() ?
Почему просто не передавать переменную в сессии, заранее сгенерированную? А еще лучше не сгенерированную, а назначенную следующим порядковым номером, так как по закону подлости может совпасть два номера заказа по рандому и ты вляпаешься.
Давай сразу сократим твой вопрос до "Хочу стать вторым Цукербергом быстро мгновенно и немедленно. Можно еще быстрее.".
А если кратко:
1. Логин-Пароль - учи формы.
2. Передача его по страницам - учи работу с куками или с сессиями.
3. Как показывать одно или другое при удачном/неудачном логине - учи if then else
4. .... еще много...
Конечно, там не только этот оператор вывода, однако если я его оставляю так - то все строки в цикле выстраиваются в 1 строку, как будто <br> не существует. Причем пропадает ВСЕ до $i+1 - выводится такое:
Если оставить просто $i (т.е. не прибавлять +1), то все нормально отображается (с переносами), однако мне необходимо, чтобы нумерация тут отображалась с 1, а не с 0, а если цикл сделать с 1, а не с 0, то во всех обращениях к массиву придется вписать $i-1 , а это туева хуча строк...
Не пойму, что не срабатывает?
ЗЫ. Я понимаю, что могу определить еще одну переменную, прибавить к ней 1 и выводить ее, но неужели нет другого способа, без лишней переменной?
ЗЗЫ. PHP 5.0 (Добавление)
Пока сделал
Вот как раз вариант содержимого в фвйле я и собирался передавать этим "дополнительным" показателем, чтобы использовать один скрипт парсинга, который по этому показателю запускал тот или иной вариант.
Решил плюнуть и просто действительно использовать разные переменные, а скрипт будет поочередно проверять их все, выбирая нужные через дополнительный текстовый инпут с таким же индексом.
Можно, конечно, но я надеялся, что можно было бы использовать ForEach и по этому параметру запускать ту или иную функцию парсинга. Ну и передавать так имена файлов (под которыми они должны будут сохраняться на сервере).
Мелкий пишет:
<input name="uf[my_custom_key]" type="file" />
Аналогично.
Я попытался, конечно, задавать ключи, но все равно это не дает передавать дополнительные данные типа имени файла. Хотя сейчас попробую.
Каждый файл - это отдельный параметр, загружаемый потом в свое место и под своим парсингом. Разбор, естественно, идет через $_FILES[uf]
Условно возьмем, что первый файл - это картинка, второй - MHT-файл, третий - зип-архив и т.д.
Но тут и так понятно - [0] - первый, [1] - второй элемент и т.д. Foreach и нет проблем.
Но есть другая проблема - на других страницах такой запрос - только по одному файлу. Т.е. на одной странице сделана загрузка именно картинки (у нас она грузится в первом элементе)
На другой странице - загружается только MHT-файл.
Можно ли в отсылку формы добавить дополнительный параметр, указывающий, что это за зверь отправляется. Сразу скажу, "картинки", "MHT" и другие, которые можно определить по MIME я привел лишь для понимания. Реально же там отправляются файлы, которые вообще не являются стандартными типами.
Я, видишь ли, врач
И это мое хобби, которое, одновременно, облегчает жизнь мне и куче других людей, которые вообще считают компьютер "Бесовской машиной" и не способны ни на что, кроме натыкивания в Ворде документов.
Потому для меня 99% всяких
$books[$i]['id'] = $element->id;
$books[$i]['image'] = $element->children(0)->src;
Темный лес, опутанный колючей проволокой. В основном для этого юзал страницу про регулярные выражения с главной страницы php.su. Но не всегда ее хватает.
Стриптаг отрезает вообще ВСЕ тэги, а это полноценный документ, с боди, стилями и прочим мусором.
Плюс он УЖЕ вытянут в одну строку (т.е. в нем НЕТ переносов строк - nl2br отпадает)
Проблема в ОТОБРАЖЕНИИ текста в браузере.
</p><p> создают между строками отступ, который мне не нужен. Потому мне выгоднее <br>
Но как убрать только те тэги </p>, которые не закрывают абзац с align ?
т.е.
<p>Текст</p><p>Еще текст</p> <<<< тут </p><p> подлежит замене на <br>
<p align=center>Текст</p><p>Еще текст</p> <<<< тут </p><p> НЕ подлежит замене на <br>, так как тогда "Еще текст" тоже отцентруется, а мне это не нужно.
В документе сотни строк, буквально по 3-4 слова в строке, потому и надо их "сжать" по высоте. Ну и к тому же - 200 раз <p></p> - это 200х7=1400 символов, а 200 раз <br> - это лишь 200х4=800 - немного, но выигрыш в размерах все таки есть. А строк иногда бывает по 2-3к.