Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> fopen 
V
    Опции темы
m1kle
Дата 4.5.2008, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 2.5.2007
Где: Москва, Россия

Репутация: нет
Всего: нет



Вообщем хочу написать что-то в начало файла. Но почему то он обрезает всё что было в конце файла. Я использую режим r+.
PM MAIL WWW MSN   Вверх
Feldmarschall
Дата 4.5.2008, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



"вообще" пишется без "м" на конце, а "в общем" - раздельно.
Постарайся запомнить.

Ты уверен что хочешь перезаписать что-то в начале файла?
PM   Вверх
m1kle
Дата 4.5.2008, 19:23 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 2.5.2007
Где: Москва, Россия

Репутация: нет
Всего: нет



Feldmarschall, учить русскому языку меня не стоит.

Я хочу записать строчку в начало файла.

Код

$file=fopen("***/file.txt", "r+");
fwrite($file, "daasdas1\n");
fclose($file);


- вот например файл.

Это сообщение отредактировал(а) m1kle - 4.5.2008, 19:55
PM MAIL WWW MSN   Вверх
Feldmarschall
Дата 4.5.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



что-то мне уже надоело повторяться.
вы бы хоть кооперировались с одинаковым нубскими вопросами.

дописать ничего в файл нельзя. можно только переписать.
поэтому читаешь весь файл, пишешь свою переменную и потом файл обратно

PM   Вверх
m1kle
Дата 4.5.2008, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 2.5.2007
Где: Москва, Россия

Репутация: нет
Всего: нет



Feldmarschall, Я и не говорил "Дописать". Ты меня не понял.

Мне нужно записать что-то в начало файла, не повредив при этом остальной текст. А у меня при записи в начало файла весь текст, который "ниже" удаляется, хотя я использую режим r+, который окрывает файл для чтения и записи; помещяет указатель в начало файла.
PM MAIL WWW MSN   Вверх
Feldmarschall
Дата 4.5.2008, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Это ты меня не понял.
"записать, не повредив" - это и значит дописать,
а поместив указатель в начало файла, можно только перезаписать. поверх того, что раньше было в начале файла.
ясно?
PM   Вверх
m1kle
Дата 4.5.2008, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 2.5.2007
Где: Москва, Россия

Репутация: нет
Всего: нет



Feldmarschall, Тогда другой вопрос. Чем тогда
'w+'     Открывает файл для чтения и записи; помещает указатель в начало файла и обрезает файл до нулевой длинны. Если файл не существует - пробует его создать. 
отличается от
'r+'     Окрывает файл для чтения и записи; помещяет указатель в начало файла. 

?
PM MAIL WWW MSN   Вверх
Sufius
Дата 4.5.2008, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 5.4.2004
Где: Питер

Репутация: 1
Всего: 1



m1kle
считываешь старый файл, добавляешь к этой инфе новую, заново записываешь в файл...


--------------------
Помогите плиз с Ajax http://forum.vingrad.ru/forum/topic-208747.html
PM MAIL ICQ   Вверх
m1kle
Дата 4.5.2008, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 2.5.2007
Где: Москва, Россия

Репутация: нет
Всего: нет



Sufius, понял. Спасибо.
PM MAIL WWW MSN   Вверх
Sufius
Дата 4.5.2008, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 5.4.2004
Где: Питер

Репутация: 1
Всего: 1



http://ru2.php.net/fopen
w+ - хотя бы  Если файл не существует - пробует его создать. 


--------------------
Помогите плиз с Ajax http://forum.vingrad.ru/forum/topic-208747.html
PM MAIL ICQ   Вверх
m1kle
Дата 4.5.2008, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 2.5.2007
Где: Москва, Россия

Репутация: нет
Всего: нет



Спасибо за помощь, всё работает
PM MAIL WWW MSN   Вверх
win9x
Дата 9.6.2008, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 20.10.2006

Репутация: нет
Всего: нет



Лично я все же нашел для себя способ не переписывать, а дописывать в файл, используя флаг a , который устанавливает указатель в конец файла.

Код

$handle = fopen($dbfile, "a");
fwrite($handle,$text."\n");
 fclose($handle);


Полученный результат открываю , как массив rsort(file($dbfile))  и обрабатываю тем же оператором for , только в обратном порядке, т.е. в порядке течения событий. 

Код

$dataArr = file($dbfile);
rsort($dataArr);
for($a=0;$a<count($dataArr);$a++){
print $dataArr[$a]
;}


Иногда rsort() пашет некоректно, тогда:

Код

$dataArr = file($dbfile);
$dataArr =  array_reverse($dataArr);
for($a=0;$a<count($dataArr);$a++){
print $dataArr[$a]
;}


Ни на чем не настаиваю, но для меня этот способ работает отменно.


Это сообщение отредактировал(а) win9x - 9.6.2008, 20:23
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0927 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.