2009-10-07 25 views
0

我正在将文件的内容输出到另一个文件,但内容只是未放入第二个文件。它创建文件,但不会将输出放到文件中,它将在屏幕上显示输出。无法使用file_put_contents将内容添加到文件

require_once 'templates/'.$layout.'/contact.php'; 
ob_start(); 
$content = ob_get_clean(); 

file_put_contents($dir.'/contact.php',$content); 
chmod($dir.'/contact.php',0777); 

有趣的是,当我做到这一点file_put_contents($ DIR '/ contact.php', 'DSF');它在写file_put_contents($ dir。'/ contact.php',$ content)时写入文件; 是不是?

回答

3

我不明白......你有一个文件,然后接着立即调用ob_start() ob_get_clean()。

什么是假设在ob_get_clean?

你应该有:

ob_start(); //<--- Start the buffer 

require_once 'templates/'.$layout.'/contact.php'; 

$content = ob_get_clean(); 

file_put_contents($dir.'/contact.php',$content); 
chmod($dir.'/contact.php',0777); 
+1

@Roland - 这应该被标记为正确的答案。 – karim79 2009-10-07 15:42:23

+0

@罗兰 - 谢谢@安东尼 - 投了票。 – karim79 2009-10-07 15:49:58

+0

修好了,thx Antonio – Roland 2009-10-07 15:50:07

0

您可能没有写入该文件的权限,或文件夹,如果你正在创建文件

+0

-rwxrwxrwx 1 WWW的数据WWW的数据0 2009-10-07 17:20 contact.php drwxr-XR-X 2 WWW的数据WWW的数据2009年4096 -10-07 17:19 8c492a19cfbb713f89d0946482c5ee42 – Roland 2009-10-07 15:27:11