2009-10-07 6 views
0

Je publie le contenu d'un fichier dans un autre fichier, mais le contenu n'est simplement pas placé dans le second fichier. Il crée le fichier mais ne met pas la sortie dans le fichier, il affiche la sortie sur l'écran.Impossible d'ajouter le contenu au fichier à l'aide de 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); 

La chose drôle est quand je fais ce file_put_contents ($ dir '/ contact.php', 'DSF'.); il écrit dans le fichier, en faisant file_put_contents ($ repertoire '/ contact.php', $ content); n'est pas?

Répondre

3

Je ne comprends pas ... Vous incluez un fichier, puis appelez ob_start() suivie d'une immédiate ob_get_clean().

Qu'est-ce qui est supposé être dans le ob_get_clean ??

Vous devriez avoir:

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 - ceci devrait être marqué comme la bonne réponse. – karim79

+0

@Roland - merci, @Antonio - a voté. – karim79

+0

l'a réparé, thx Antonio – Roland

0

vous pourriez ne pas avoir le droit d'écrire à ce fichier, ou un dossier si vous créez ce fichier

+0

-rwxrwxrwx 1 www-data www-data 0 2009-10-07 17:20 contact.php drwxr-xr-x 2 www-data www-data 4096 2009 -10-07 17:19 8c492a19cfbb713f89d0946482c5ee42 – Roland

Questions connexes