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

Форум PHP

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

 

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

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

тема: Проблема с удалением строки из файла
 
 автор: ZetRider   (26.01.2006 в 00:32)   письмо автору
 
 

Вот скрипт удаления строки из файла:

Index.php

<form action="del.php">
<font face='Verdana' size='2' color='#C0C0C0'><b>Введите ID админа </b></font> <input type = "text" name = "str"  size=3>
<input type = "submit" value = "Удалить"><br>


del.php

<?
if ($id != $str) {
$id--;
$file=file("text.txt"); 

for(
$i=0;$i<sizeof($file);$i++)
if(
$i==$id) unset($file[$i]); 

$fp=fopen("text.txt","w"); 
fputs($fp,implode("",$file)); 
fclose($fp);
}
?>


Он строку удаляет не указанную строку в форме, а самую первую из файла... В чем проблема?

   
 
 автор: cheops   (26.01.2006 в 00:43)   письмо автору
 
   для: ZetRider   (26.01.2006 в 00:32)
 

del.php лучше переписать так
<? 
if ($id != $str && !empty($id)) 

  
$file file("text.txt"); 
  unset(
$file[$id 1]); 
  
$fp fopen("text.txt","w"); 
  
fputs($fpimplode("",$file)); 
  
fclose($fp); 

?>

   
 
 автор: ZetRider   (26.01.2006 в 12:52)   письмо автору
 
   для: cheops   (26.01.2006 в 00:43)
 

хм.. он сейчас вообще ничего неудаляет...

   
 
 автор: ZetRider   (26.01.2006 в 13:21)   письмо автору
 
   для: ZetRider   (26.01.2006 в 12:52)
 

нашел выход:)

<html>
<form action="delete.php">
<p>Удалить строку №<input type = "text" name = "str"  size=3>
<input type = "submit" value = "Удалить">
<?
$file_w 
= @fopen("2.txt" ,"w");
           if(!
$file_w)
           {
              print(
"<b>Не удается открыть файл</b><p>");
           }  
           else
           {

                
$file = @fopen("1.txt" ,"r");
                 if(!
$file)
                  {
                    print(
"<b>Не удается открыть файл</b><p>");
                  }  
                 else
                 {
                    
                     for(
$i=0$i < ($str-1); $i++)
                   {
                      
$string fgets($file);
                      
fputs($file_w$string);
                   }
                     
fgets($file);
                     
                      while(!
feof($file))
                      {
                        
$string fgets($file);
                        
fputs($file_w$string);

              
                      }

                  
                 }

              
                           
           }
fclose($file);
fclose($file_w);

 
copy ("2.txt","1.txt");
unlink("2.txt");
         
?>

   
Rambler's Top100
вверх

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