PHP file_put_contents new line

fish man picture fish man · Jun 14, 2011 · Viewed 31.9k times · Source

I tried use file_put_contents output new page. but I meet some trouble in breaking new line.

<?php
$data ='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r\n';
$data .='<html xmlns="http://www.w3.org/1999/xhtml" lang="en">\r\n';
$data .='<head>\r\n';
$data .='</head>\r\n';
$data .='<body>\r\n';
$data .='<p>put something here</p>\r\n';
$data .='</body>\r\n';
$data .='</html>\r\n';
file_put_contents( dirname(__FILE__) . '/new.php', $data);
?>

I tried \n or \r\n, they all can not make a new line:

1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r\n<html xmlns="http://www.w3.org/1999/xhtml" lang="en">\r\n<head>\r\n</head>\r\n<body>\r\n<p>put something here</p>\r\n</body>\r\n</html>\r\n

Answer

Sabeen Malik picture Sabeen Malik · Jun 14, 2011

Using \r or \n in single quotes carries it literally. use double quotes instead like "\r\n"

So one line might become:

$data .= "<head>\r\n";

or

$data .='<head>' . "\r\n";