[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: файлы
blase
ничего не отображается, но вроде должно:

fputs(fopen("ttext.txt", "w+"),"Мега текст!"); # создание файла и запись
fpassthru(fopen("ttext.txt", "w+")); # отображение
copy("ttext.txt", "ttext2.txt"); # копирование
fputs(fopen("ttext2.txt", "w+"), "скопированный Мега текст"); # запись
rename("ttext2.txt", "dctext.txt"); # переименование
fpassthru(fopen("dctext.txt", "w+")); # отображение
unlink("dctext.txt"); # удаление
fclose(fopen("ttext.txt", "w+")); # закрытие




Спустя 1 минута, 55 секунд (29.06.2010 - 19:27) KaFe написал(а):
blase а может нормализуешь код?

Спустя 1 минута, 58 секунд (29.06.2010 - 19:29) blase написал(а):
нормализуюю.. а это как?
# эти заметки я писал для себя чтобы разобраться лучше

Спустя 4 минуты, 46 секунд (29.06.2010 - 19:34) tomash написал(а):
blase
А что должно отобразиться?

Спустя 1 минута, 15 секунд (29.06.2010 - 19:35) blase написал(а):
по понятнее:

fputs(fopen("aaa.txt", "w+"),"ТЕКСТ в файле ааа"); # создается файл с текстом
fpassthru(fopen("aaa.txt", "w+")); # отображение этого текста
copy("aaa.txt", "bbb.txt"); # копирование этого файла с тем текстом
fputs(fopen("bbb.txt", "w+"), "<br>ТЕКСТ в файле ааа теперь и в файле bbb"); # перезапись скопированного файла
rename("bbb.txt", "ccc.txt"); # переименование того скопированного файла с перезаписанным текстом
fpassthru(fopen("ccc.txt", "w+")); # отображение того переименованного скопированного файла с перезаписыванным текстом
unlink("ccc.txt"); # удаление того переименованного скопированного файла с перезаписанным текстом
fclose(fopen("aaa.txt", "w+")); # закрытие файла, который создался в самом начале


должно отобразится так:

ТЕКСТ в файле ааа
ТЕКСТ в файле ааа теперь и в файле bbb

но не отображается, создает один пустой файл ааа.txt

Спустя 27 минут, 23 секунды (29.06.2010 - 20:02) blase написал(а):
что, тему надо было создавать в разделе "PHP для знатоков"?

Спустя 11 минут, 25 секунд (29.06.2010 - 20:14) twin написал(а):
А закрывать файлы не пробовал?

Спустя 2 минуты, 50 секунд (29.06.2010 - 20:17) blase написал(а):
всего два файла:
1 из файлов закрыл fclose(), а другой удалил unlink()

Спустя 3 минуты, 31 секунда (29.06.2010 - 20:20) tomash написал(а):
fputs(fopen("aaa.txt", "wb"),"ТЕКСТ в файле ааа"); # создается файл с текстом
fpassthru(fopen("aaa.txt", "r")); # отображение этого текста
copy("aaa.txt", "bbb.txt"); # копирование этого файла с тем текстом
fputs(fopen("bbb.txt", "wb"), "<br>ТЕКСТ в файле ааа теперь и в файле bbb"); # перезапись скопированного файла
rename("bbb.txt", "ccc.txt"); # переименование того скопированного файла с перезаписанным текстом
fpassthru(fopen("ccc.txt", "r")); # отображение того переименованного скопированного файла с перезаписыванным текстом
unlink("ccc.txt"); # удаление того переименованного скопированного файла с перезаписанным текстом
fclose(fopen("aaa.txt", "wb")); # закрытие файла, который создался в самом начале

Спустя 2 минуты, 47 секунд (29.06.2010 - 20:23) blase написал(а):
tomash! спасибо большое! причина ошибки теперь понятна! значит w+ не работает для отображения.
а что такое b? с + тоже работает

Спустя 2 минуты, 14 секунд (29.06.2010 - 20:25) tomash написал(а):
blase
Дело не в b, просто почитайте про флаги при открытии файлов))) w+ вам в конец файла указатель выставляет, поэтому ничего и не выводилось

Спустя 1 минута, 37 секунд (29.06.2010 - 20:27) blase написал(а):
дада, точно))) сенькс))!

Спустя 1 минута, 50 секунд (29.06.2010 - 20:29) twin написал(а):
Не совсем это корректно. Открывать уже открытый файл и оставлять его открытым...
Вот так нужно, если использовать режим w+, хотя с ним нужно очень аккуратно. Лучше вообще избегать.
    $f = fopen("aaa.txt", "w+");
fputs($f, "ТЕКСТ в файле ааа");
fseek($f, SEEK_SET);
fpassthru($f);
fclose($f);

copy("aaa.txt", "bbb.txt");

$f = fopen("bbb.txt", "w+");
fputs($f, "<br>ТЕКСТ в файле ааа теперь и в файле bbb");
fclose($f);

rename("bbb.txt", "ccc.txt");

$f = fopen("ccc.txt", "w+");
fseek($f, SEEK_SET);
fpassthru($f);
fclose($f);

unlink("ccc.txt");

Спустя 3 минуты, 41 секунда (29.06.2010 - 20:32) blase написал(а):
twin, спсеб), учту, но я не знаком еще с таким оператором fseek
буду учить и разбираться!

Спустя 47 минут, 26 секунд (29.06.2010 - 21:20) KaFe написал(а):
blase может я не правильно выразился, пардон =)

Вот что я имел ввиду под нормализацией

http://lurkmore.ru/%D0%98%D0%BD%D0%B4%D1%8...%BA%D0%BE%D0%B4

http://habrahabr.ru/blogs/php/38318/


Спустя 15 минут, 48 секунд (29.06.2010 - 21:36) linker написал(а):
twin
$f = fopen("aaa.txt", "w+");
fputs($f, "ТЕКСТ в файле ааа");
fseek($f, SEEK_SET);
fpassthru($f);
fclose($f);

Попробуйте $f = fopen("aaa.txt", "a+"); чтобы указателями в файле не жанглировать.

Спустя 11 минут, 48 секунд (29.06.2010 - 21:47) twin написал(а):
Я специально оставил те режимы, которые были. На что и указал. Этот код, как я понял, простая иллюстрация, пусть будет понятно, как с этим бороться.

Спустя 16 часов, 13 минут, 37 секунд (30.06.2010 - 14:01) blase написал(а):
спасибо! я просто экспериментировал с файлами, тренировался)

kafe, не думаю что определение индусского кода соответствует моему)) у меня не копи-паст, делал полностью по своему, придумал этот код чтобы заучить различные действия с файлами потому и ошибка вышла)
я кстати с w+ решил не делать, еще не учил что такое fseek, просто поставил а+)) а для чтения r)
всем спс!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.