Comment modifier des constantes en PHP : Vous pouvez utiliser des expressions régulières pour modifier des constantes. Pour utiliser des expressions régulières, nous devons utiliser la fonction preg_replace(), qui est utilisée pour effectuer une recherche et un remplacement d'expression régulière.
Nous pouvons utiliser un remplacement régulier pour modifier les constantes, ce qui est le plus simple et le plus pratique.
(Tutoriel recommandé : Tutoriel php )
Introduction à la fonction :
La fonction preg_replace effectue une recherche et un remplacement d'expression régulière.
Syntaxe de la fonction :
mixed preg_replace(mixed $pattern , mixed $replacement, mixed $subject[, int $limit = -1[, int &$count]])
Description du paramètre :
$pattern : Le modèle à rechercher, qui peut être une chaîne ou un tableau de chaînes.
$replacement : Chaîne ou tableau de chaînes utilisé pour le remplacement.
$subject : La chaîne cible ou le tableau de chaînes à rechercher et à remplacer.
$limit : Facultatif, le nombre maximum de substitutions pour chaque chaîne de sujet par modèle. La valeur par défaut est -1 (aucune limite).
$count : Facultatif, le nombre de fois que le remplacement est effectué.
Valeur de retour :
Si le sujet est un tableau, preg_replace() renvoie un tableau, sinon il renvoie une chaîne. Si une correspondance est trouvée, le sujet remplacé est renvoyé, sinon le sujet inchangé est renvoyé. Si une erreur se produit, NULL est renvoyé.
Implémentation du code :
/* @param 常量文件 @param 修改数组(常量名=>常量值) @return 失败返回false 成功修改常量文件 */ function constEdit($file, $arr) { $info = file_get_contents($file); foreach ($arr as $k => $v) { $info = preg_replace("/define\(\"{$k}\",\".*?\"\)/", "define(\"{$k}\",\"{$v}\")", $info); } return file_put_contents($file, $info); }
En utilisant cette méthode, il nous suffit de transmettre l'emplacement du fichier constant correspondant et le tableau modifié.
Scénario d'application :
<form action="action.php" method="post"> <input name="HOST" type="text" /> <input name="DBNAME" type="text" /> <input type="submit" value="修改"/> </form>
A ce moment, sur la page action.php, il vous suffit de recevoir le tableau complet de $_POST et de le transmettre à la méthode.
Il est à noter que vous devez utiliser des guillemets doubles lors de la définition de constantes, telles que :
define("HOST","127.0.0.1"); define("DBNAME","mysql");
Deuxièmement, le nom de la constante doit correspondre au nom dans le formulaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!