• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Помогите: Запись в файл, ошибка...

  • Автор темы Автор темы ViTQ
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
V

ViTQ

Во всех книгах пишут одно и тоже:
Код:
<?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 не работает, почему?
 
Всё нормально работает, может быть ваш текстовый редактор, которым вы просматриваете текст, не понимает unix-стиль переноса (\n), а понимает виндовый стиль (\r\n).

Попробуйте
Код:
<?php
$handle=fopen("text.txt", "wb");
$text="Просто\r\nстрока\r\nтекста.\r\n";
fwrite($handle, $text);
fclose($handle);
?>
 
$handle=fopen("text.txt", "ab"); -Запись в бинарном режиме..
Чтобы РНР пересемплировал перенос, снимите флаг b

$handle=fopen("text.txt", "a");
 
Кстати, недокументировано работает флаг t - текстовый режим.
попробуйте:
$handle=fopen("text.txt", "w+t");
 
В процессе работы с пхп и другими языками придётся привыкнуть к тому, что всё время придётся решать всякие 'непонятки' :(
 
В процессе работы с пхп и другими языками придётся привыкнуть к тому, что всё время придётся решать всякие 'непонятки' :)

Нууу!!! не пугайте молодёжь! :)
В данном случае - траблы не PHP, а способы перевода строки в Винде и *никсах
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab