Помогите удалить массив из файла

Статус
В этой теме нельзя размещать новые ответы.

Vikt0r_

Новичок
Помогите удалить массив из файла

подскажите пожалуйта, как можно удалить массив из файла?

допустим имеем в файле mn.php такой код:

PHP:
<? $mn = array(
"1" => array(1 => "меню 1", 2 => "тест 1"),
"2" => array(1 => "меню 2", 2 => "тест 2"),   
"3" => array(1 => "меню 3", 2 => "тест 3"),   
"4" => array(1 => "меню 4", 2 => "тест 4"),   
"5" => array(1 => "меню 5", 2 => "тест 5"),   
); ?>
нужно удалить массив по номерам:

PHP:
"1" = array(....
"2" = array(....
"3" = array(....
"4" = array(....
"5" = array(....
либо же построчно, то есть:

PHP:
строка 0 - это <? $mn = array(
строка 1 - это "1" = array(....
строка 2 - это "2" = array(....
и т.д.

Форма удаления у меня такая:

PHP:
<?
include('mn.php');

print "<form method='post'>";

foreach($mn as $aa => $bb)
{
print "<input type='checkbox' name='del[$aa]' value='$aa'> - $bb";
}

print "<input type='submit' name='ddel' value='удалить'>
</form>";

if(isset(ddel))
{

# вот здесь нужно продолжить правильный код :-)

}
?>
Очень расчитываю на вашу помощь.

Спасибо!
 

Духовность™

Продвинутый новичок
как можно удалить массив из файла?
руками

вот здесь нужно продолжить правильный код
для хранения данных использовать файлы с разделителями, Базу данных или на худой конец сериализацию. Хранить данные в виде php-кода в твоем случае не оправдано.
 

Vikt0r_

Новичок
для хранения данных использовать файлы с разделителями, Базу данных или на худой конец сериализацию. Хранить данные в виде php-кода в твоем случае не оправдано.
Дело в том, что у меня уже написан скрипт на редактирование и добавление массива в php файл, а данные будут для навигации (меню). То есть сайт уже работает и считывает массивы.
теперь решил реализовать админ-редактор для меню, чтобы вручную не добавлять всегда.

переделывать ради одного удаления весь скрипт как-то не охота.

очень прошу помочь на примерах

пробовал удалить построчно:
PHP:
if(isset($ddel))
{
$file = file('mn.php');
$fpdde = fopen('mn.php', 'w+');
for($fd=0; $fd<count($file); $fd++)
{
if($del[$fd] != "$fd")
{
fputs($fpdde, $file[$fd]);
}
}
fclose($fpdde);
print "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=?\">";
}
удаляет, но не ту строку которую нужно....

пробовал корректировать строки с помощью $fd=1, скрипт рушится)

А причина в том, что в форме идет массивный Цикл, который считывает строки от 1! а в удалении For считывает строку от 0... и получается такой сдвиг, но как писал выше меняя на $fd=1 все рушится.
 

Духовность™

Продвинутый новичок
$del - откуда взялось?

print "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=?\">";
почитай про функцию header()

А причина в том, что
Причина в том, что ты пишешь говнокод и не желаешь прислушиваться к тому, что тебе говорят.

переделывать ради одного удаления весь скрипт как-то не охота.
дело твое - нравится писать говнокод - пиши.

Объясняю ещё раз: ДАННЫЕ в текстовые файлы пишутся в виде строк, разделенных, например, символом табуляции и заканчивающиеся символом новой строки. Генерирование Php-кода -- это отдельная тема, которая к твоей задаче отношения не имеет. Меню сайта - это данные и как любые данные меню должно храниться в хранилище данных, в формате, пригодном для быстрого их извлечения, а не в виде PHP-кода.
 

Vikt0r_

Новичок
Автор оригинала: *****
ну а нам неохота помогать ламеру с кривыми руками.
Ламер походу здесь ты, что вставляешь свои 5 копеек.

Прошу помощи, а не поносные слова. Не все учатся на программеров, чтобы потом "меряться пиписькой" и высказывать на форуме кто ламер, а кто нет.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху