Показать полную графическую версию : Редактирование строчки в файле
В файле пять строчек:
text1
text2
text3
text4
text5
как мне перезаписать третью строчку?
Например читаю её и редактирую:
error_reporting(0);
$file = file("text.txt");
if (isset($_POST['ok'])){
$edit = $_POST['ok'];
???
}
echo "<form action=pet.php method=post>";
echo "<textarea cols=35 rows=8 name=ok>".$file[2]."</textarea>";
echo "<input type='submit'>";
echo "</form>";
и чё делать я незнаю дальше, вообще возможно ли так сделать?
Vlad Drakula
08-08-2005, 20:46
$file = file("text.txt");
if (isset($_POST['ok'])){
$file[2] = $_POST['ok'];
$filename = 'test.txt';
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
// Write $somecontent to our opened file.
foreach($file as $s)
fwrite($handle, $s."\n\t");
fclose($handle);
} else {
echo "The file $filename is not writable";
}
}
Спасибо...
У меня получилось так:
$f=file("test.txt");
$f[2] = $_POST['ok']."\n";
$fp=fopen("test.txt","w");
fwrite($fp,implode($f));
fclose($fp);
slaine
строки, где Влад проверял файл на наличие, запись записывал с условием - не лишние :)
а не будет ли быстрее через "обычные" функции чтения/записи файла? вдруг в файле >10 000 000 строчек?
P.S. сам бы дела через file(); просто интересно..=)
Vlad Drakula
10-08-2005, 00:36
Xcode
будет...
наверное...
но веть сказано что строчек пять...
так что не будет...
по строчно удобно менять когда файлы большие...
slaine
implode($f) - не правильно.
implode("\n\t", $f) - правильно.
(посмотрите документацию)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.