|
|
|
| Вот скрипт удаления строки из файла:
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);
}
?>
|
Он строку удаляет не указанную строку в форме, а самую первую из файла... В чем проблема? | |
|
|
|
|
|
|
|
для: 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($fp, implode("",$file));
fclose($fp);
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(26.01.2006 в 00:43)
| | хм.. он сейчас вообще ничего неудаляет... | |
|
|
|
|
|
|
|
для: 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");
?>
|
| |
|
|
|