|
|
|
| Мне нужно добавить новую строку в начало файла. Просто скопировать старое, вставить новое и вставить старое.
Подскажите пожалуйста - почему вот этот код работает неправильно:
$file = fopen("searchwords.txt","r+");
$sw = "строка наверх";
$sw.=fread($file,filesize("searchwords.txt"));
fwrite($file,$sw);
fclose($file);
|
Получается:
Старый текст
Новая строка
Старый текст
А вот этот код работает верно:
$sw = "строка наверх";
$file = fopen("searchwords.txt","r");
$sw.=fread($file,filesize("searchwords.txt"));
fclose($file);
$file = fopen("searchwords.txt","r+");
fwrite($file,$sw);
fclose($file);
|
Получается:
Новая строка
Старый текст
Почему первый код не работает? Откуда сверху появляется старое содержание файла? | |
|
|
|
|
|
|
|
для: Qiao
(26.11.2007 в 08:10)
| | Потому что после того, как прочитили файл с помощью fread(), "указатель" остался вконце.
Попробуйте переместить его на начало с помощью fseek() | |
|
|
|
|
|
|
|
для: Qiao
(26.11.2007 в 08:10)
| | после чтения добавьте fseek($file, 0); | |
|
|
|