Index · Правила · Поиск· Группы · Регистрация · Личные сообщения· Вход

Список разделов Веб-строительство и интернет-проекты
 
 
 

Раздел: Веб-строительство и интернет-проекты Помогите: Запись в файл, ошибка... 

Создана: 14 Июля 2007 Суб 20:48:54.
Раздел: "Веб-строительство и интернет-проекты"
Сообщений в теме: 17, просмотров: 6594

На страницу: Назад  1, 2  Вперёд
  1. V.1.P_1


    Начинающий


    Более 10 лет на форуме
    14 Июля 2007 Суб 20:48:54
    Во всех книгах пишут одно и тоже:
    Код:
    <?php
    $handle=fopen("text.txt", "wb");
    $text="Просто\nстрока\nтекста.\n";
    fwrite($handle, $text);
    fclose($handle);
    ?>

    Должно по сути записывать в файл следующие:
    Код:
    Просто
    строка
    текста.

    Так написано в книге. В итоге записывает так:
    Код:
    Просто строка текста.

    Другой случай из книги:
    Код:
    <?php
    $handle=fopen("text.txt", "ab");
    $text="Просто строка текста.";
    fwrite($handle, $text"\n");
    fclose($handle);
    ?>

    Должен в итоге записывать в файл при каждом запуске скрипта в новую строку, но он пишет все подрят.
    Простой пример:
    Код:
    <?php
    echo "Просто\nстрока\nтекста.";
    ?>

    Ситуация повторяется, в итоге во всех случаях \n не работает, почему?
  2. 12 Ноября 2008 Срд 13:35:41
    [quote="Ziproxy"]
    Системщик писал :Сделай проще, напиши вместо /n <br> и будет тебе счастье
    И чем его потом смотреть??
    HTML вьюером?

    Верно, перевод строки будет лишь при выводе echo
    При записи в файл конечно не сработает...
  3. 12 Ноября 2008 Срд 17:51:53
    Поразбирался немного с этим кодом. Сразу скажу, что все делал на Windows (PHP 5.2.6 + Apache 2.2.9).

    Вот такой код:
    Код:
    $handle=fopen("text.txt", "wb");
    $text="Просто\nстрока\nтекста.\n";
    fwrite($handle, $text);
    fclose($handle);

    пишет в файл все три слова отдельной строкой, то есть, перенос строк работает! (обращаю внимание, что тут даже \r не понадобилось - и без него работает. Видимо, потому что в бинарном режиме открыт файл.)

    Далее...
    Код:
    $handle=fopen("text.txt", "ab");
    $text="Просто строка текста.\n";
    fwrite($handle, $text);
    fclose($handle);

    Здесь тоже все работает, то есть, при повторном выполнении скрипта в файл добавляется новая строка.

    Ну а что касается echo, то он и нужен для вывода текста на страницу. Поэтому работает вариант с <br> :
    Код:

    echo "Просто<br>строка<br>текста.";


    Вот и все пока что....
На страницу: Назад  1, 2  Вперёд