|
|
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
Добрый день, есть файл, состящий из блоков текста, которые разделенный цифрами 112233 Нужно взять блок текста из файла, произвести манипуляции и положить назад. Написал такой код $file = file_get_contents ('C:\папка1\папка2\файл.txt'); $expl = explode('112233', $file); $block = $expl[0]; $blockch = str_replace( "текст", "AAAAAAAAAAAAAAAAAAa", $block); file_put_contents ($file, $blockch); Но не работает. Подскажите пожалуйста что я сделал не так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 00:37:30 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
Не прочитал мануал по функции file_put_contents и вместо имени файла скормил ей какую то чушь. PS: для оформления кода на форуме приветствуется использовать тег SRC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 01:38:36 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
Еще хорошей практикой является давать переменным осмысленные имена. Что такое $file в данном примере - поди разбери. Если б переменная называлась $file_content, тогда вряд ли она попала бы на это место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 01:41:26 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
vkle, file - содержимое файла текстового, где блоки с текстом, один из которых надо взять все вроде понял, надо задать переменную для имени файла и там указать ее, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 01:55:10 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
Только вот сохранить измененный блок текста, не трогая остальные не получилось :( Сохраняет его одного и все, а как чтобы заменил его, а остальной текст не трогал не знаю :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 01:57:54 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
Для небольшого размера файлов вполне подходит такой алгоритм: 1. Прочитать весь файл в переменную. 2. Сделать необходимые изменения. 3. Записать содержимое переменной в файл. Для больших - не годится. Если будут затруднения, опишите задачу подробнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 03:19:46 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
vkle, файл состоит из одинаковых блоков текста. Изменения надо только в первом сделать. Если просто заменять текст, то он заменится везде, а как чтобы в 1 блоке я не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 03:32:06 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
1. Прочитать весь файл в переменную. 2. Разбить в массив 3. Сделать необходимые изменения в первом элементе массива. 4. Собрать массив в строку. 5. Записать строку в файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 03:53:18 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
vkle, Сложности наверное с 3им элементом. Как собрать в строку его, чтобы там измененный элемент учесть, и остальные, количество которых может быть разным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 12:59:26 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
Не прошло и полсуток, вот уже и третий элемент появился. Так к вечеру до пятого дойдем ))) Почаще в мануал заглядывайте. И прочтите какую-нибудь книгу по основам программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 14:05:01 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
vkle, 3ий пункт я имел ввиду ) да, эту функцию я видел, но как сказать ей чтобы взяла старые элементы + 1 новый вместо старого я не знаю ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 14:10:39 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
Gjiod, Вы не поверите, но достаточно сделать присваивание: Код: php 1. Дальше додумаете самостоятельно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 14:18:56 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
vkle, и потом просто что-то типа implode ($expl); ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 14:24:47 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
Такой вот код $filepath = 'C:\папка\файл.txt'; $file = file_get_contents ('C:\папка\файл.txt'); $expl = explode('112233', $file); $block = $expl[0]; $blockch = str_replace( "text", "AAAAAAAAAAAAAAAAAAa", $block); $expl[0] = $blockch; $imp = implode($expl); file_put_contents ($filepath, $imp); Все получилось впринципе, только вот разделитель 112233 теряется. Можно его как-то не терять, а оставлять после каждого блока? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 15:13:07 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
Уверен, Вы принципиально не читаете мануал по используемым функциям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 16:18:15 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
vkle, я почитал мануал, там мало и ничего такого нет :( попытался для explode limiter использовать - не помогло Ткните носом пожалуйста что и где читать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 19:30:43 |
|
||
|
Работа с блоком текста
|
|||
|---|---|---|---|
|
#18+
Типа, одного раза 12699145 недостаточно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2012, 20:03:16 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=37834324&tid=1465052]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
467ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 798ms |

| 0 / 0 |
