Вот, twin, объяснил мне примерный алгоритм:
1.) Вытащить в массив;
2.) Достать нужную, отредактировать;
3.) Засунуть на место и перезаписать файл.
1 - ый пункт, я понял кое-как. А вот 2-ой знаю, что нужно по номеру достать новость, но откуда номер взять?! И 3-ий пункт непонятен.
Спустя 19 минут, 53 секунды (19.08.2009 - 11:11) Гость_hara написал(а):
Отличные вопросы)
Особенно второй вопрос)
- Берите постоянно седьмую новость. - Почему седьмую, ну потому что цифра хорошая)
вообщето какая вам нужна новость - можете знать только вы, - но берите седьмую ))
хотя наверное бесполезно но всё же:
file, file_put_contents, file_get_contents, fopen, fclose, fputs
- вот функции - сходите на php.net и посмотрите что они значат.
Особенно второй вопрос)
- Берите постоянно седьмую новость. - Почему седьмую, ну потому что цифра хорошая)
вообщето какая вам нужна новость - можете знать только вы, - но берите седьмую ))
хотя наверное бесполезно но всё же:
file, file_put_contents, file_get_contents, fopen, fclose, fputs
- вот функции - сходите на php.net и посмотрите что они значат.
Спустя 2 минуты, 58 секунд (19.08.2009 - 11:14) FatCat написал(а):
Я не знаю как правильно, могу рассказать как я это делаю.
PHP |
// 1. Вытаскиваю в массив строк: |
Спустя 20 секунд (19.08.2009 - 11:15) <?php написал(а):
Гость_hara, ты лучше глаза открой и внимательно прочти. А выпендриваться, не к чему.
Спустя 1 минута, 2 секунды (19.08.2009 - 11:16) <?php написал(а):
FatCat, спасибо. Буду пробовать.)
Спустя 3 минуты, 21 секунда (19.08.2009 - 11:19) <?php написал(а):
FatCat, а дальше как поступать? сори за вопрос такой.
Спустя 2 минуты, 48 секунд (19.08.2009 - 11:22) Гость_hara написал(а):
<?php читал два раза.
И не увидел причин писать вам код для решения этого вопроса.
(ответ сводится к запросу в поисковик со словами "работа с файлами")
(именно из за того что сдесь пишут ответы на всё, не пытаясь человеку самому
найти ответ, на форуме мало интересных постов)
И вам было бы полезнее найти этот ответ самому.
Остался при своём мнении, но учту и больше не буду "выпендриваться" )
И не увидел причин писать вам код для решения этого вопроса.
(ответ сводится к запросу в поисковик со словами "работа с файлами")
(именно из за того что сдесь пишут ответы на всё, не пытаясь человеку самому
найти ответ, на форуме мало интересных постов)
И вам было бы полезнее найти этот ответ самому.
Остался при своём мнении, но учту и больше не буду "выпендриваться" )
Спустя 10 минут, 50 секунд (19.08.2009 - 11:33) <?php написал(а):
Гость_hara, спасибо, что поняли.
Спустя 10 минут, 8 секунд (19.08.2009 - 11:43) Krevedko написал(а):
ув.FatCat
Это, я так понимаю, он перезаписывает полностью весь файл ?
А если файл большой-не тормозит ?
И еще..что за сепаратор такой PHP_EOL ?
А так..код весьма даже понятен. Буду иметь ввиду, хоть с файлами и не работаю.
Это, я так понимаю, он перезаписывает полностью весь файл ?
А если файл большой-не тормозит ?
И еще..что за сепаратор такой PHP_EOL ?
А так..код весьма даже понятен. Буду иметь ввиду, хоть с файлами и не работаю.
Спустя 1 час, 45 минут, 10 секунд (19.08.2009 - 13:28) glock18 написал(а):
PHP_EOL - php end of line
константа простая. типа "\n" только ставится в зависимости от операционки (\r\n или \n).
<?php
hara прав, вы нет.
константа простая. типа "\n" только ставится в зависимости от операционки (\r\n или \n).
<?php
hara прав, вы нет.
Цитата (<?php @ 19.08.2009 - 07:52) |
1 - ый пункт, я понял кое-как. |
;
PHP |
$lines = file() |
2. нужные лайны парсишь как тебе надо. можно все, как FatCat предложил:
PHP |
for ($i = 0; isset($lines[$i]); $i++) |
3. file_put_contents + implode.
Спустя 13 минут, 5 секунд (19.08.2009 - 13:41) <?php написал(а):
glock18, я писал, чтобы он не выпендривался.
Спустя 2 часа, 54 минуты, 7 секунд (19.08.2009 - 16:35) FatCat написал(а):
Цитата (Krevedko @ 19.08.2009 - 12:43) |
Это, я так понимаю, он перезаписывает полностью весь файл ? А если файл большой-не тормозит ? |
На практике 160-мегабайтный файл на чтение и перезапись съел на денвере 20 секунд, здесь на хостинге 4 секунды.
Цитата (glock18 @ 19.08.2009 - 14:28) | ||
|
Тут все хорошо, пока имеем файлы, созданные скриптом на хосте, и на том же хосте другим скриптом читаемые.
Траблы начинаются, когда виндовый файл кидается по ФТП с кривым расширением (идет как бинарник) и открываются скриптом на юниксовых машинах.
Файл в 10 строк читается как массив 20 строк - через одну пустые строки.
Категорически предпочитаю эксплодить по PHP_EOL, она и в такой ситуации отдаст верный массив строк.