草庐IT

filter_var

全部标签

php - 全局覆盖 var_dump?

我不喜欢var_dump打印对象的方式。我想用这个函数覆盖它:functionvar_dump($object,$die=true){print'';print_r($object);if($die)die();}我知道如何在我的应用程序中覆盖它,但有没有办法在PHP配置级别为所有站点全局覆盖它? 最佳答案 您目前无法在PHP中(通过“好方法”)做到这一点。还有更多-你不应该。var_dump()正在按预期进行:plain输出,仅此而已。如果您想更改它,那么根据定义您需要一些用户定义的行为。因此:创建您自己的函数。那就是你现在所拥有

php - session 变量的 filter_input

是否有一些等同于filter_input的东西,我可以像使用$_POST一样使用$_SESSION?当我尝试时,它给出了错误:警告:filter_input():INPUT_SESSION尚未实现session_start();$x=filter_input(INPUT_SESSION,'x');if($x){echo$x;}php版本:PHP版本5.5.12-1+deb.sury.org~precise+1 最佳答案 我和你一样的问题。也许我们是如此严谨,但我在不损害任何安全/过滤器的情况下解决了问题。我使用了filter_var

php - PHP 中 "filter_var"和 "preg_replace"之间的后端区别是什么?

我有来自数据库(非常受控的输入)的数字,它们前后都有下划线。它们是这样存储的:_51__356_它们不会以任何其他格式存储,但有时我只需要从中获取数字。我选择使用其中之一$x=filter_var($myNumber,FILTER_SANITIZE_NUMBER_INT);或$y=preg_replace("/[^0-9]/","",$myNumber);我不确定后端两者之间的细微差别,但它们都能产生我所需要的(无论如何,我是这么认为的),所以我使用哪个并不重要。使用这些选项的优缺点是什么?(例如,是否有人使用数组或其他我可能需要了解的奇怪事物?有人使用了太多资源吗?)

php - Apache /CentOS 7 :/var/www/html/owned by root but created files owned by apache - how do I resolve this?

我在CentOS7上全新安装了未修改的Apache。我注意到,当我查看/var/www/html的文件夹权限时,它及其内容归apache所有。但是,当创建文件时,其所有者和组是Apache。虽然html归root:root所有,但所有内容都应该归apache:apache所有吗?或[user]:apache该用户属于Apache组?我该怎么办?编辑:另一个问题-我想要改变这个吗?我对Linux系统中的文件所有权没有很好的理解,但似乎使用此配置可​​以防止新创建的文件(apache:apache)对已存在的文件(root:root)采取操作。这应该可以防止PHP黑客操纵任何现有文件,对吗

php - 在 AWS EC2 上重新启动 httpd 会出现异常。是不是要把/var/www/html的内容删掉?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭7年前。Improvethisquestion正如标题所说,我在AmazonWebServices上的EC2实例(elasticbeanstalk)中托管一个PHP应用程序,实际

php - 使用 FILTER_VALIDATE_FLOAT 时接受 '.' 或 ',' 作为小数分隔符?

我正在使用PHPfilter_input函数来解析HTML表单输入。其中一个输入字段表示金额。我希望我会有一些用户使用逗号,一些用户使用点作为小数点分隔符。FILTER_VALIDATE_FLOAT过滤器有一个小数点选项,但我还没有想出一个干净的方法来接受这两个字符作为小数点分隔符。目前我的代码看起来像下面这行,但这不接受像123.45这样的金额。$money=filter_input(INPUT_POST,'money',FILTER_VALIDATE_FLOAT,array('options'=>array('decimal'=>',')));是否有任何标准/干净的方法可以接受多种

php - Laravel 4:Input::has() + Input::get() vs. ($var = Input::get()) != null

在检查输入值是否存在并将其分配给变量时,我看到了两种实现此目的的方法:if(Input::has('id')){$id=Input::get('id');//dosomestuff}或者更短的if(Input::has('id')&&$id=Input::get('id')){...},和$id=Input::get('id');if($id!=null){//dosomestuff}分别if(($id=Input::get('id'))!=null){...}。显然,第一种方法更像是Laravel方式,可能更直观(至少阅读起来),但一方面,第二种方法似乎更快,因为它涉及更少的方法调用

php - 将 var 名称解析为字符串文字以将字符串的一部分分配给新的 var

我将数据库表id编号附加到动态呈现的按钮,如下所示:echo'';echo'';echo'';echo'';因此,当单击时,我以$_POST['buttonUpdate_1']结束,例如作为引用的数据库表中的id#1。现在我想从$_POST变量名中提取1。我假设我需要使用preg_replace但想不出如何在模式中逐字使用var名称来提取附加的id#。我一直在谷歌搜索,似乎也找不到我需要的东西。那么,如何在preg_replace中将var名称解析为文字字符串,以提取其中的一部分并将其分配给新的var? 最佳答案 虽然不是像你问的那

php - filter_var 与 preg_match

早上好我正在转换我正在处理的网站以与最新版本的PHP兼容,因此我正在检查并用未折旧的等效项替换所有ereg实例。然而,有人告诉我有一个名为filter_var的方便的PHP内置函数。我的问题是,使用filter_var而不是preg_match是否有意义?至于选择一个而不是另一个是否有性能提升或任何其他好处,如果有的话,它们是什么? 最佳答案 首先,关于过滤的PHP手册页:https://php.net/manual/en/book.filter.php其次,上下文是关键。一般来说,过滤器函数被设计为使用外部输入(标量或数组),或内

php - 为什么 $$var ['namedIndex' ] = 'test' 不起作用?

在PHP中你可以$var='title';$$var='mynewtitle';而且效果很好。但是当您尝试将它与数组一起使用时,它不起作用并且没有报告任何错误。$var='title';$$var['en']='myenglishtitle';$var='description';$$var['en']='myenglishdescription';感谢帮助[编辑]如果我这样做$$var=array();array_push($$var,'test');它工作并输出title[0]='test';但我真的需要命名索引:/ 最佳答案