草庐IT

php - 只为一个应用打开 register_globals

我们有一个客户端应用程序依赖于已打开的register_globals,但我们将其托管在我们的共享服务器上,并且不想在我们的主php.ini文件中打开register_globals。我尝试插入ini_set('register_globals','On');但它没有用。为什么没有呢?还有更好的方法吗? 最佳答案 你总是可以尝试把:extract($_REQUEST,EXTR_SKIP);//thanks@WayneWhitty在每个文件之上。据我所知,它会产生相同的结果。但是,真的,真的,使用这些很糟糕。我会寻找一种方法来更改代码

php - 是否使用 $GLOBALS ['HTTP_GET_VARS' ] 已弃用?

我知道使用$HTTP_GET_VARS已弃用,但如何使用$GLOBALS['HTTP_GET_VARS']?该数组键将来可能会消失吗?我基本上在遗留项目中拥有以下所有内容,我需要将其与CMS集成,除非绝对必要,否则我真的不想更新它。functiontable_manager_import_vars($var){$vars=explode(",",$var);foreach($varsAS$var){switch($var){case"G":$var="HTTP_GET_VARS";break;case"P":$var="HTTP_POST_VARS";break;case"C":$va

php - 在 "security"代码拧紧后重置发布数据

我继承了一个古老而复杂的系统,该系统会及时更换,但现在我有一个主要问题。(加密的,耶!)初始化代码中的某处是与GPC变量混在一起的代码,应用诸如addslashes和htmlspecialchars之类的东西而不考虑任何类型的上下文.你知道的,绝对是小蛋糕会做的那种事情。不是您期望从有点昂贵的PHP软件中得到的东西。不管怎么说,有什么方法可以强制PHP重新读取请求的POST数据并从中重新填充$_POST吗?我已经尝试了gotogo-to方法file_get_contents("php://input");但返回空白-大概是init代码读取它,因为在旧版本的PHP中它只能读取一次....

php - 命名空间 : "use as" global

我有一个名为“init.php”的文件,我在其中包含了所有带有命名空间的类。例如,其中之一是:MyClass\Helper。总是在init中,在这些类之后,包含另一个使用MyClass\Helper的文件(b.php)。最后,也使用MyClass\Helper的索引需要这个文件“init”。所以:init.php->Requirelibs/Helper.php(finalnamespace:MyClass\Helper)->Requireb.php->UseMyClass\Helperindex.php->Requireinit.php->UseMyClass\Helper现在我想在包

php - smarty 从 $globals 获取数据

如果使用{debug}来查看我可以在页面中访问哪些数据。现在我需要的东西在{$GLOBALS}里,比如current_user=>Array(17)id=>3759user_name=>blaemail=>bla@bla.comgroup=>Array(2)id=>userscaption=>Users但是我如何获得我需要在我的页面上显示的数据呢?喜欢电子邮件地址吗? 最佳答案 如果您只能访问模板文件,您可以将$GLOBALS分配给一个聪明的var$globals,如下所示:{php}$this->assign('globals',

php - $GLOBALS 超全局在传递给函数时被修改

我在PHP中遇到了一些奇怪的行为:functionf($var){//notusingreferencesforeach($varas$k=>$v){unset($var[$k]);//shouldn'tthisunsetfromacopy?!}}print'';var_dump($GLOBALS);//arrayf($GLOBALS);var_dump($GLOBALS);//null?!http://3v4l.org/dQmQN有人知道为什么会这样吗? 最佳答案 打印出它正在删除的内容并启用警告以查看what’sactually

php - Hack typechecker 无法识别函数内的 'global' 关键字

我正在使用HHVM编写一个系统工具,但我终究无法弄清楚为什么当我运行hh_client时这段代码会出错$__al_paths=array();functionrequires(string$classPath):void{global$__al_paths;$className=basename($classPath);if(!isset($__al_paths[$className])){$__al_paths[$className]=AL_CLASSES_FOLDER.'/'.$classPath.'.'.AL_CLASS_EXTENSION;}}当我运行hh_client时,会出

php - php7 还支持全局变量吗?

在php7中可以在函数内使用全局变量吗?它在php5.4中正常工作。我发现关键字global在php7中不再有用:globalonlyacceptssimplevariablesmigration70.incompatible但是关于GLOBALS的页面上有reserved.variables.globals仍然写着(PHP4、PHP5、PHP7)应该支持GLOBALS。不幸的是,这些都不适合我:functionprintGlobal(){global${$a};global$b;echo'-'.${$a};echo'-'.$b;echo'-'.$GLOBALS['c'];}$a="h

php - 如何实现 "require_global"?

现状:我有我的MVC框架的当前版本,它使用类作为Controller。我有一些来self的旧MVC框架的“老式”模块,它们使用简单、扁平的包含作为Controller。更简单的意思是:新版本:intVar=123;$this->view('myView');}}?>旧版本:我现在正在尝试编写一个包装器,以便能够在我的新MVC中使用我的旧Controller,而无需重写所有内容。为此,我有一个“包装器”Controller:classwrapControllerextendsbaseController{functiondosomethingFunction(){require'old_

php - 为什么在函数内部使用 "global"引用被认为是不好的做法?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:AreglobalvariablesinPHPconsideredbadpractice?Ifso,why?globalinfunctions编辑:上面链接中回答的问题。不,php中的“global”与其他语言中的global不是一回事,虽然它不会引入任何安全问题,但它会使其他人难以理解代码。运算符(operator):项目摘要-我正在编写一个WebCMS来尝试使用PHP/MySQL。为了分解代码,我对这些基本层/模块有一个概念:数据-MySQL表-PHP变量函数-SQL-获取/设置/等-前端-显示页面-后端