Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как удалить информацию из Текстового файла?
 
 автор: HerSystem   (12.05.2006 в 18:54)   письмо автору
 
 

Как удалить строку(сообщение) из файла?
На каждой строке стоит Дата, можно наверно использовать её в качестве ID сообщения? Записи хранятся так:
Data//IP//Name//Text
Data//IP//Name//Text
Data//IP//Name//Text
...

   
 
 автор: ZooM (ССС)   (12.05.2006 в 19:18)   письмо автору
 
   для: HerSystem   (12.05.2006 в 18:54)
 

Короче для моего примера надо знать номер строчки которую хотим удалить
Вот код:

<?
// Номер строчки которую надо удалить
$nomer=3;
$file=file("mess.txt");
for(
$i=0$i<count($file); $i++)
{
if(
$i != $nomer$arr.=$file[$i];
}
$fp=fopen("mess.txt"w);
fputs($fp$arr);
fclose($fp);
?>

Вроде так но могу допустить ошибку так как не тестил а так написал

   
 
 автор: HerSystem   (12.05.2006 в 19:27)   письмо автору
 
   для: ZooM (ССС)   (12.05.2006 в 19:18)
 

Большое спасибо.
А как заменять строку на другую?

   
 
 автор: HerSystem   (12.05.2006 в 20:41)   письмо автору
 
   для: HerSystem   (12.05.2006 в 19:27)
 

..

   
 
 автор: Ziq   (12.05.2006 в 21:11)   письмо автору
 
   для: HerSystem   (12.05.2006 в 20:41)
 

Можно почти таким же методом


<? 
// Номер строчки которую надо удалить 
$nomer=3
$file=file("mess.txt"); 
for(
$i=0$i<count($file); $i++) 

if(
$i != $nomer$arr.=$file[$i]."\r\n"; else $arr.= "Заменяемая строка\r\n";

$fp=fopen("mess.txt"w); 
fputs($fp$arr); 
fclose($fp); 
?> 


P.S. Единственной, в конце строки нужно указать символ переноса \n

   
 
 автор: HerSystem   (13.05.2006 в 21:07)   письмо автору
 
   для: Ziq   (12.05.2006 в 21:11)
 

Спасибо.
Только возникает проблема с уданением последней строчки из текстового файла.
Если удаляю последнюю строчку то остаётся "Переход на эту строку". Как это исправить?
Пример. Удаляем 4 строку, вот что происходит:

0
1
2
3
(Интер)

А мне надо:

0
1
2
3

   
 
 автор: Саня   (13.05.2006 в 21:33)   письмо автору
 
   для: HerSystem   (13.05.2006 в 21:07)
 

Перед записью в файл обработайте данные функцией trim():
<? 
// Номер строчки которую надо удалить 
$nomer=3
$file=file("mess.txt"); 
for(
$i=0$i<count($file); $i++) 

if(
$i != $nomer$arr.=$file[$i]."\r\n"; else $arr.= "Заменяемая строка\r\n"

$fp=fopen("mess.txt"w); 
fputs($fptrim($arr)); 
fclose($fp); 
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования