草庐IT

compute_something

全部标签

php - PHP 中是否有内置的方法来解析这样的字符串 : '/path/to/../../up/something.txt'

假设我有一个类似路径的字符串$path='/path/to/../../up/something.txt';有没有内置于PHP中的方法来解析它并得出一个没有目录ups(../)的URL?例如$path=parsePath('/path/to/../../up/something.txt');///up/something.txt 最佳答案 realpath($path);Docs 关于php-PHP中是否有内置的方法来解析这样的字符串:'/path/to/../../up/somethi

php - 这个 php 语法有效吗? $类-> {'something' }()

我在阅读某个代码示例时,注意到我不熟悉的语法。$response=$controller->{'home'}();这是一个有效的php语法吗? 最佳答案 是的。$controller->{'home'}//sameas$controller->home//usedtoaccessaproperty和$controller->{'home'}()//sameas$controller->home()//usedtocallamethod主要好处是,通过调用->{stuff},您可以访问具有不同(或奇怪)名称的属性。例子:$a=news

PHP preg_replace : How can I match something but not replace it?

例如,如果我想preg_replace一个HTML元素的标题:$str=preg_replace('/title=\"([^\"]+)\"/','foo',$str);请不要为这个特定示例提供其他解决方案(非正则表达式),这只是一个示例。我需要一个适用于任何正则表达式的解决方案。 最佳答案 如果你想用preg_replace匹配部分,但只是部分替换其他东西,那么有两种选择。您可以重新插入匹配的部分(包含在捕获组中,然后使用$1和$3):$str=preg_replace('/(title=")([^"]+)(")/','$1foo$

PHP/JavaScript : Tell two computers apart from same network

我正在开发一个不允许您在一台计算机上登录多个帐户的网站,但我不知道该怎么做。该方法必须是:跨平台(可在Windows/Mac/Linux客户端上使用)。独立于浏览器。这是为了避免一些用户利用多个用户获得不公平的优势,同时仍然允许本地网络上的两个人连接,只要他们在不同的计算机上。有什么建议吗? 最佳答案 您可以尝试使用持久性Cookie,例如“Evercookie”http://samy.pl/evercookie/,这样您就可以用独特的cookie来识别每台计算机,并且它会持久存在。然后您需要做的就是将该cookie链接到您的ses

php - 这个 if 语句的含义 [if (condition) : something; endif;]

我今天一直在阅读一些joomla代码,我经常遇到如下语句:item->modified)!=0&&$this->item->params->get('show_modify_date')):?>item->modified,JText::_('DATE_FORMAT_LC2')));?>按照我的阅读方式,它似乎转换为以下语法:if(condition)://dosomethinghereendif;我不熟悉这种语法(:在if语句之后)。谁能指出我正确的位置? 最佳答案 检查这个Alternativesyntaxforcontrols

php - "example@something.com"-> "example"PHP

我对正则表达式还很陌生,无法真正弄清楚它是如何工作的。我试过这个:functionchange_email($email){returnpreg_match('/^[\w]$/',$email);}但这只返回bool值true或false,我希望它返回@之前的所有内容。这可能吗?我什至不认为我在这里使用了正确的php函数.. 最佳答案 使用explode尝试更简单的方法:explode('@',$email)[0]; 关于php-"example@something.com"->"exa

php - 谷歌地图 "but your computer or network may be sending automated queries"错误

我有一个PHP项目,它曾经像蛋糕一样工作,但现在googlemapapi阻止了它我使用像这样的代码从谷歌地图(地址到坐标转换)获取地理定位数据,每天的请求数量很少。$base_url="http://maps.google.com/maps/geo?output=xml&key=".KEY."&q=".urlencode($address);$xml=@simplexml_load_file($request_url);使用KEY广告我的谷歌APIkey,但我开始收到此错误We'resorry......butyourcomputerornetworkmaybesendingautom

php - 更改 "Whoops, looks like something went wrong."消息

我确定我在这里遗漏了一些愚蠢的东西。我正在尝试替换Laravel在出现异常时抛出的non-debug错误屏幕。它似乎忽略了下面的代码(放在start/global.php中):App::error(function(Exception$exception,$code){Log::error($exception);if(!Config::get('app.debug')){returnResponse::view('errors.exception',['message'=>$exception->getMessage()],500);}});为什么它会忽略它?我是否也应该在其他地方做

php - Zend 框架 : How do I change the default layout script to something other than layout. phtml?

我想将我的默认布局文件命名为layout.phtml以外的名称,因为它并没有真正描述它是什么类型的布局。我怎样才能做到这一点?谢谢! 最佳答案 在您的Bootstrap.php文件中,您可以执行如下操作:protectedfunction_initLayoutName(){//usesitelayout.phtmlasthemainlayoutfileZend_Layout::getMvcInstance()->setLayout('sitelayout');}如果你想为不同的模块使用不同的布局,你需要在Bootstrap中注册一个

PHP 对象 : get value of attribute by computed name

如果我在运行时计算名称,如何按名称访问对象的属性?例如。我遍历键并想要获取属性"field_"的每个值。$键。在python中有getattribute(myobject,attrname)。当然,它适用于eval("$val=$myobject->".$myattr.";");但IMO这很丑陋-有更清洁的方法吗? 最佳答案 请记住,PHP的一个非常强大的特性是它的VariableVariables你可以使用$attr='field'.$key;$myobject->$attr;或者更简洁,使用大括号$myobject->{'fie