Bonjour,
Je souhaite générer cette ligne define('DIR_ROOT', __DIR__.DIRECTORY_SEPARATOR); à partir de celle-ci $root = "'".$path['root']."'";.
Le problème est que $path['root'] se termine par un DIRECTORY_SEPARATOR qui sous Windows échappe le caractère suivant. J'ai essayé toute sorte de solution sans y arriver.

J'obtiens ceci: define('DIR_ROOT', 'C:\wamp64\www\test\'); avec la parenthèse, le point-virgule et toute la suite inclus dans la chaîne à définir.

Pour plus d'infos, voici mon code complet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
	$content	= fileGetContent('patterns/define.php');	// fileGetContent inclut file_get_contents et des contrôles
	$comments	= sprintf($_SESSION['s1']['comments'], $_SESSION['s3']['definetitle']);
	$root		= "'".$path['root']."'";
	$viewpage	= '"'.$path['root'].'view'.DIRECTORY_SEPARATOR.'page'.DIRECTORY_SEPARATOR.'"';
	$varExport	= var_export($_SESSION['s3']['lang'], return: true);
	$languages	= isset($_SESSION['s1']['multiling']) && isset($_SESSION['s3']['lang']) ?
					"define(AVAILABLE_LANGUAGES, {$varExport});":
					'';
	$urlContact	= !empty($_SESSION['s1']['urlContact']) ? "define('URL_CONTACT',\t\"{$_SESSION['s1']['urlContact']}\");": '';
	$content	= sprintf($content, $comments, $root, $viewpage, $languages, $urlContact);
	$result		= file_put_contents($_SESSION['path']['root'].'define.php', $content, FILE_USE_INCLUDE_PATH);