Bonjour,

J'ai un problème assez surprenant. J'ai une fonction qui crée un fichier (fopen w+) et qui écrit du code PHP, tout marche bien et j'obtiens le code suivant. test.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<? include("_menus/incl_top.php");  echo "Hello Guys";  include("_menus/incl_end.php"); ?>
Le echo fonctionne mais il ne peut pas trouver les fichiers à inclure. (Failed to open stream blabla)

Seulement si j'ouvre ce même fichier et que je fais un copier coller du code dans le fichier test2.php et que je l'execute, là, miracle ! ça fonctionne ! Ils se trouvent dans le même répertoire, ont les mêmes droits d'accès etc.

Voici la fonction en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function editPage($pageName, $newcontent) {
	$fileContent = "";
 
	$header = " <? include(\"_menus/incl_top.php\"); ?>";
	$end = "<? include(\"_menus/incl_end.php\"); ?> ";
 
	$handle = fopen($pageName, "w+");
	$fileContent .= $header;
 
	$fileContent .= $newcontent;
 
	$fileContent .= $end;
	fwrite($handle, $fileContent);
 
	fclose($handle);
}
Puis j'execute:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$content = "<? echo \"Hello Guys\"; ?>";
editPage("../test.php",$content);
Quelqu'un aurait-il une idée d'où ça peut venir ? fwrite, fopen ?? Le truc est que le code écrit fonctionne parfaitement quand crée via un éditeur. Je comprends vraiment pas.