Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Дописывание файла
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Дописывание файла

Страниц (1): [1]
 

1. Spawn - 16 Июня, 2008 - 14:33:25 - перейти к сообщению
Можно ли сделать так, что бы файл дописывался не с конца (как это делается функцией "a" ), а что бы сначало шла "дозапись", а потом содержимое файла которое было.

Например надо сделать что бы было так...
в sample.txt у нас написано..
Цитата:
text1

с помошью формы я пишу там text2 и он добавлялся вначале файла...
т.е. теперь мой файл sample.txt выглядит
Цитата:
text2 text1


вроде выразил все, что хотел Улыбка
2. Джур - 16 Июня, 2008 - 19:58:02 - перейти к сообщению
ничего умнее чем

в голову и не приходит если честно. мм..
3. Вездеход - 16 Июня, 2008 - 21:29:53 - перейти к сообщению
$fp=fopen($file,"r+");
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);

может так? Улыбка

Цитата:

Список возможных режимов для fopen() используя mode

mode Описание
'r' Открывает файл только для чтения; помещает указатель в начало файла.
'r+' Окрывает файл для чтения и записи; помещяет указатель в начало файла.
'w' Открывает файл только для записи; помещает указатель в начало файла и обрезает файл до нулевой длинны. Если файл не существует - пробует его создать.
'w+' Открывает файл для чтения и записи; помещает указатель в начало файла и обрезает файл до нулевой длинны. Если файл не существует - пробует его создать.
'a' Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его создать.
'a+' Открывает файл для чтения и записи; помещает указатель в конец файла. Если файл не существует - пытается его создать.
'x' Создаёт и открывает только для записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей, вернёт FALSE и выдаст предупреждение уровня E_WARNING. Если файл не существует, попытается его создать. Это эквивалентно указанию флагов O_EXCL|O_CREAT для внутреннего системного вызова open(2). Эта опция поддерживается начиная с версии PHP 4.3.2 и выше, и работает только для локальных файлов.
'x+' Создаёт и открывает для чтения и записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей, вернёт FALSE и выдаст предупреждение уровня E_WARNING. Если файл не существует, попытается его создать. Это эквивалентно указанию флагов O_EXCL|O_CREAT для внутреннего системного вызова open(2). Эта опция поддерживается начиная с версии PHP 4.3.2 и выше, и работает только для локальных файлов.

4. Джур - 16 Июня, 2008 - 22:40:44 - перейти к сообщению
Вездеход пишет:
может так?

однако хрень получается... Не понял
строчка затирает верх файла собой... а надо чтобы дописывало.
5. Spawn - 17 Июня, 2008 - 06:36:11 - перейти к сообщению
Джур пишет:
ничего умнее чем file_put_contents в голову и не приходит если честно. мм..

Большое спасибо.. очень выручили.
сделал так
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $file = 'sample.txt';
  3. $add = $text2;
  4. ?>

Подмигивание Danke!
6. Вездеход - 17 Июня, 2008 - 08:55:58 - перейти к сообщению
Джур пишет:
Вездеход пишет:
может так?

однако хрень получается... Не понял
строчка затирает верх файла собой... а надо чтобы дописывало.

ну если дописать с умом - то нормально все будет...
7. Джур - 17 Июня, 2008 - 14:57:03 - перейти к сообщению
Вездеход пишет:
ну если дописать с умом - то нормально все будет...

Уважаемый Вездеход, если вы не заметили, очень жаль, но ваш скрипт портит верхушку файла с данными. Как я понимаю - это вы называете "с умом"? Объясните сеё недорузумение. Подмигивание

 

Powered by ExBB FM 1.0 RC1