if(!file_exists("files/".file_name)){
$path='file_menu/';
if ($handle = @opendir($path))
{
while (!$fe = readdir($handle)){
if(($fe!='.')AND($fe!=='..')){
$file_array=file(file_name) or die("неправильно задано имя файла");}
/*Проверяю на то, что это число и оно от 1 до кол-ва строк в файле*/
$id=intval($id)-1;
((0<=$id)&&(isset($file_array[$id])))
?$id
:
exit('неправильно введен номер строки');
/*удаляю строку*/
unset($file_array[$id]);
$fp=fopen("$file_name","w") or die('файл недоступен для записи');
fputs($fp,implode("",$file_array));
fclose($fp);
}
closedir($handle);
}
}
Спустя 43 минуты, 56 секунд (16.05.2010 - 13:49) twin написал(а):
Так не выйдет. Нужно файл прочитать допустим в массив, удалить нужный элемент (по номеру строки) и записать его снова.
Спустя 50 секунд (16.05.2010 - 13:50) twin написал(а):
о, а так и есть))) вот код криво написан, сразу и не поймешь)
Спустя 2 минуты, 10 секунд (16.05.2010 - 13:52) twin написал(а):
Нужно склеивать массив не через пустоту, а через перенос.
fputs($fp,implode("\n",$file_array));
Спустя 13 минут, 22 секунды (16.05.2010 - 14:05) Uri написал(а):
twin === вот спасибо))) ща попробую))
Спустя 3 минуты, 38 секунд (16.05.2010 - 14:09) Uri написал(а):
а вот еще вопрос... этот код будет искать нужное слово во всех файлах этой дериктории или нет?
Спустя 2 часа, 57 минут, 27 секунд (16.05.2010 - 17:06) twin написал(а):
А он разв еще что то ищет? Он же только строку по номеру удаляет...
Будет во всех удалять.
Будет во всех удалять.
Спустя 3 часа, 29 минут, 9 секунд (16.05.2010 - 20:35) Uri написал(а):
блин
Спустя 1 час, 12 минут, 35 секунд (16.05.2010 - 21:48) Uri написал(а):
а как тогда он узнает в какой стролке слово. какую строку удолять?
_____________
Дрога становится легче, когда встречается добрый попутчик...