Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > fwrite не записывает числа в сочетании с "\n"


Автор: Andrew23 25.9.2008, 20:14
Использую денвер, PHP Version 5.2.4

Вот такой код:

Код

<?php
$cou="1.txt";


$cou_arr="1\n2\n";

$fp=fopen($cou,"w");
if($fp){$fw=fwrite($fp,$cou_arr);fclose($fp);}

?>




при этом в файле 1.txt появляется следующее: "਱ਲ" (два символа переноса строки "\n"). Почему не записываются числа? Должно было записаться "1" и "2".


При этом вот такой код:
Код


<?php
$cou="1.txt";


$cou_arr="test1\ntest2\n";

$fp=fopen($cou,"w");
if($fp){$fw=fwrite($fp,$cou_arr);fclose($fp);}




?>




записывает в 1.txt это: "test1
test2
"
т.е. работает как и должен работать.

Автор: bars80080 25.9.2008, 20:29
он распознаёт последовательность 1\n как символ другой кодировки.
попробуй так: 
Код

$cou_arr='1\n2\n';
// скорее всего запишет \n как символы, а не перевод строки
// и
$cou_arr='1'."\n".'2'."\n";
// должно помочь

Автор: ViniPuh 25.9.2008, 20:40
Вопрос в другом, в чем ты просматривал содержимое файла. Небось в блокноте. Есть несколько форматов конца строки. В твоем примере Unix-формат. Если ты хочешь использовать Win-формат то код должен быть таким:

Код

<?php
$cou="1.txt";


$cou_arr="1\r\n2\r\n";

$fp=fopen($cou,"w");
if($fp){$fw=fwrite($fp,$cou_arr);fclose($fp);}

?>

Автор: Andrew23 26.9.2008, 00:24
bars80080, ViniPuh, спасибо за ответы.
Цитата
Вопрос в другом, в чем ты просматривал содержимое файла. Небось в блокноте. 



Действительно, когда открыл файл в Notepad++, то там были цифры...


Проблема прояснилась.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)