2011-06-13 16 views
5

मैंने file_put_contents आउटपुट नए पेज का उपयोग करने का प्रयास किया। लेकिन मुझे नई लाइन तोड़ने में कुछ परेशानी मिलती है।PHP file_put_contents नई लाइन

<?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); 
?> 

मैंने कोशिश की \n या \r\n, वे सब एक नई लाइन नहीं बना सकते:

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 
+0

आप एक .php एक्सटेंशन के साथ एक HTML फ़ाइल क्यों लिख रहे हैं? मेरा मतलब है, यह एक कानूनी PHP फ़ाइल है, लेकिन यह अजीब लगता है। – Zecc

+3

ऐसे उपयोगों के लिए आप ["हेरडोक" तारों की जांच भी कर सकते हैं [http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc) में नियम पुस्तिका। – mario

+0

@Zecc, मैं एक '.php' के साथ एक HTML फ़ाइल लिख रहा हूं, जिसमें इसमें' पृष्ठ मुनू 'और' पृष्ठ पाद लेख 'शामिल होगा। –

उत्तर

29

एकल उद्धरण में \r या \n का उपयोग करते हुए यह सचमुच वहन करती है। बजाय की तरह "\ r \ n" दोहरे उद्धरण चिह्नों का उपयोग

तो एक लाइन हो सकता है:

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

या

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

आप single-quoted character literals उपयोग कर रहे हैं, जो भागने दृश्यों की व्याख्या नहीं है।
या तो डबल-उद्धृत तारों पर स्विच करें या, अधिमानतः heredoc syntax का उपयोग करें।

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

लेकिन वास्तव में, आप हार्ड-कोड वाली फ़ाइल क्यों लिख रहे हैं? यह वास्तव में अजीब है।

+0

यह भी एक बेहतर तरीका है। –

+0

लेकिन '" हेरडोक "तारों को शायद ही कभी तोड़ दिया जाए, अगर मुझे इसमें कुछ php प्रसंस्करण की आवश्यकता है, जैसे 'if ... else ...' –