|
|
|
| Вобщем, такая проблемка, есть код, для удаления строки из файла.
<?php
if ($do == "del")
{
$file = file("base.php");
print "<form action=$PHP_SELF?do=del&done method=post>Логин: <select name=uid>";
for ($i=0; $i<sizeof($file); $i++)
{
list ($kl, $st, $dg, $dt)=explode("^^",$file[$i]);
print "<option value=$i>".$kl."</option>";
}
print "</select><br><br><input type=submit value=Удалить style=\"background-color: Gainsboro; border-width: 1px; font-weight: bolder; border-color: black\"></form>";
if (isset($done) and !empty($uid))
{
$file=file("base.php");
list ($ee, $rr, $tt, $yy)=explode("^^", $file[$uid]);
for($i=0;$i<sizeof($file);$i++)
if($i==$uid) unset($file[$uid]);
$fp=fopen("base.php","w");
fputs($fp,implode("",$file));
fclose($fp);
print "<hr width=70% size=2 color=black>Пользователь <b>".$ee."</b> успешно удален.<br><a href=$PHP_SELF>назад</a>";
}
}
?>
|
Он работает, удаляет любую строку.. кроме первой.
А вот как удалить и 1ю строку?
Данные в файле хранятся в таком виде:
$nk."^^".$status."^^".$dog."^^".$date."\n";
|
| |
|
|
|
|
|
|
|
для: hawk
(09.08.2006 в 18:41)
| | всем СПАСИБО за ответы ! Пойду спрошу в другом месте | |
|
|
|
|
|
|
|
для: hawk
(09.08.2006 в 20:39)
| | Наверное дело в том что строки нумеруются с нуля.
Но Вы, конечно, спросите. | |
|
|
|
|
|
|
|
для: Trianon
(09.08.2006 в 20:49)
| | Строки нумеруются с нуля. это правда. но я это учел. | |
|
|
|
|
|
|
|
для: hawk
(09.08.2006 в 18:41)
| | Инетересно, зачем этот цикл:
<?
...
for($i=0;$i<sizeof($file);$i++)
if($i==$uid) unset($file[$uid]);
|
если изначально известен номер удаляемой строки???
Этого достаточно...
| |
|
|
|
|
|
|
|
для: hawk
(09.08.2006 в 18:41)
| |
<?
...
if (isset($done) and !empty($uid))
|
Проблема в том, что когда $uid равен 0, то !empty($uid) возвращает false, т.е. переменная считается пустой.
<?
...
if (isset($done) and (!empty($uid) || $uid === '0' ))
|
| |
|
|
|
|
|
|
|
для: ec_stasis
(09.08.2006 в 21:45)
| | Благодарю. | |
|
|
|