Пишу скрипт, который должен брать многострочный текст из базы данных и сохранять в текстовый файл.
file_put_contents('file.txt','');
$file = fopen ("file.txt","r+");
if ( !$file )
{
echo("Ошибка открытия файла");
}
else
{
fputs ( $file, $str); //в $str необходимый текст
}
fclose ($file);
скрипт работает, но есть один минус - при переносе из базы данных в файл полностью теряются абзацы.
когда пишу в $str строчку типа "123\n456", \n записывает как текст.
Подскажите, как правильно сделать.
Спустя 53 минуты, 46 секунд (19.11.2010 - 01:37) twin написал(а):
А этого не достаточно разве?
file_put_contents('file.txt',$str);//в $str необходимый текст
Спустя 28 минут, 59 секунд (19.11.2010 - 02:06) Rembrant написал(а):
тупонул, этого достаточно.
но проблема осталась
но проблема осталась
Спустя 5 часов, 6 минут, 47 секунд (19.11.2010 - 07:13) kirik написал(а):
Цитата (Rembrant @ 18.11.2010 - 16:44) |
когда пишу в $str строчку типа "123\n456", \n записывает как текст |
Потому что строку вы записываете в одинарных кавычках, а надо в двойных.
Ваша Гадалка.
Спустя 2 часа, 30 минут, 47 секунд (19.11.2010 - 09:44) linker написал(а):
Поясню. Вот так
$str = '123\n234';\n - запишется как текст, а так
$str = "123\n234";как перевод строки.
Спустя 2 часа, 14 минут, 20 секунд (19.11.2010 - 11:58) Rembrant написал(а):
Спасибо!
заработало вот так
заработало вот так
$str = "123\r\n234";
Спустя 10 минут, 12 секунд (19.11.2010 - 12:08) linker написал(а):
Если не хочешь проблем, то пиши просто \n, без \r. Я понимаю, что винда, но блокнотом пользоваться не надо при просмотре текстов.
Спустя 39 минут, 40 секунд (19.11.2010 - 12:48) Rembrant написал(а):
Скажем так, целевая аудитория будет скачивать файлы и открывать в блокноте в винде... Только не знаю, а в маках \r\n будет означать уже что-то другое?