Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запись в файл
 
 автор: Danila   (16.02.2012 в 12:29)   письмо автору
 
 

Как записать строку в файл с заданной позиции?
...
$handle = fopen("$cur_path", "a+");
fseek($handle,"14");
$a=ftell($handle);
echo("$a");
fwrite($handle,"alcohol is a death");
...
"alcohol is a death" почему-то записывается в конец файла, хотя ftell возвращает 14, а конец файла гораздо дальше. Почему?

  Ответить  
 
 автор: cheops   (16.02.2012 в 18:33)   письмо автору
 
   для: Danila   (16.02.2012 в 12:29)
 

Без сильной надобности, тем более в текстовом режиме файловым указателем лучше не манипулировать. Вот что пишет мануал по поводу a+
Если файл открыт в режими "записи в конец" (a или a+), любые записываемые в файл данные будут записываться в конец, вне зависимости от позиции файла, а результат вызова fseek() будет не определен.
Вот еще
Не все потоки поддерживают смещение указателя. Для потоков, неподдерживающих эту операцию, смещение вперед осуществляется чтением и отбрасыванием данных, другие формы смещения закончатся ошибкой.

PS Не удивлюсь, если будут различия в поведении на разных операционных системах.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования