猿问

PHP - 不在特定页面上执行特定代码

我有一个公共页面:default.php


<?php 


  ________Some Codes________


?>

我的项目有100 多个 .php文件。(是的,所有文件都位于require_once 'default.php';所有页面的第一行)


现在,我决定在除2alert之外的所有文件中显示。(比如1.php和2.php)。


当然,我会将其添加alert到我的default.php中。


所以现在我的default.php看起来像:


<?php


________Some Codes_______



echo $comn_alert = "<script>alert('Hi');</script>";


?>

问题:

如何停止在1.php和2.php$comn_alert上执行?


宝慕林4294392
浏览 97回答 2
2回答

PIPIONE

几种做法:您可以使用$_SERVER['PHP_SELF']indefault.php检查它是否包含在1.php或2.php您可以稍微重构您的包含结构:将 的通用逻辑(即所有default.php文件中使用的逻辑)提取到另一个文件(例如)中,并要求该文件并包含有问题的代码(例如)。然后只需要default_minimal.phpdefault.phpalert()1.php2.phpdefault_minimal.php1.php在 require 中和之前设置一个变量2.php,然后检查default.php该变量是否存在。

慕盖茨4494581

在包含文件之前定义一个常量,然后检查该常量是否在 中定义default.php。如下所示:1.php:<?phpdefine('AVOID_ALERT_1',1);require_once('default.php');2.php:<?phpdefine('AVOID_ALERT_2',1);require_once('default.php');默认.php:<?php&nbsp;// __some__codesif(!(defined('AVOID_ALERT_1') || defined('AVOID_ALERT_2'))){&nbsp; &nbsp;echo $comn_alert = "<script>alert('Hi');</script>";}
随时随地看视频慕课网APP
我要回答