草庐IT

行为不当

全部标签

php - 转储非 ASCII 字符时 DOMDocument 行为不一致的解释是什么?

我注意到在使用PHP的DOMDocument时有不同的“转储”行为的saveXML()和saveHTML()方法。下面是一个简单的转储版权符号(©)的例子。$domDoc=newDOMDocument();$domDoc->loadHTML("©");echo$domDoc->saveHTML();echo$domDoc->saveXML();echo$domDoc->saveXML($domDoc);?>三个转储产生三个不同的输出:第一个输出字符串©第二个输出字符实体©第三个输出版权符号的UTF82字节代码(U+00A9)为什么输出不同?有没有一种方法可

PHP - memory_get_usage() 的奇怪行为

我正在尝试获取PHP中变量的实际大小(内存使用量)。我知道没有直接的方法来实现这一点,但有一个使用memory_get_usage()的简单“hack”。';$s=memory_get_usage();$x=true;echomemory_get_usage()-$s;echo'';$s=memory_get_usage();$x=unserialize(serialize(true));echomemory_get_usage()-$s;?>此代码分别返回64、160、0。到底为什么?前两个变体是彼此的绝对复制粘贴!为什么会发生这种情况以及如何获得真正的变量大小?

php sleep 功能奇怪的行为

我们继承了一个平台,该平台有一个crobjob,每分钟使用不同的参数将本地php脚本curl三次(curl-s-o--urlhttps://localhost/myscript.php?option=XYZ-k).该脚本运行大约1分钟,并且其可能具有相同选项的多个实例会重叠一段时间。脚本根据给定的选项记录在不同的文件中,并且每个日志都以脚本启动时的时间戳开头,因此它充当实例标识符。脚本有这个骨架:通常这个脚本运行良好(即使它们在实例A最后一次休眠和实例B启动时重叠)但有时我们有两个问题可以通过日志确认:有时它会休眠不到13秒(a时间长短不一,始终少于13分钟);有时脚本会停止(在“Wi

php in_array - 意外行为

不确定为什么会这样,但我的脚本似乎无法多次为in_array返回true...$saved='15,22';$set=explode(",",$saved);//resultsinArray([0]=>15[1]=>22)然后,我查询数据库:$result=pg_query("SELECTdid,vid,iid,valueFROMdemographicValues");if(pg_num_rows($result)>0){while($r=pg_fetch_array($result)){$demo[$r['did']][$r['vid']]['value']=$r['value'];

PHP析构函数行为问题

我找到了这个http://bugs.php.net/bug.php?id=30210,根据PHP团队的说法,这不是错误。我不明白的是为什么要在析构函数之前重置目录。如果您能解释与其他语言相比的行为,我们将不胜感激。 最佳答案 whichaccordingtothePHPteamisn'tabug您链接到的错误报告表明他们最终改变了主意。ThishasbeenfixedinnewerversionsofPHP.Worksin5.2.6and5.3.5atleast. 关于PHP析构函数行为

php - SimpleXML 奇怪的类型转换行为

今天,我们的一位客户投诉说,他店里的一些价格略低(准确地说是1,-Kč)。当我开始调试时,我认为这可能是一个舍入错误。我们正在使用SimpleXML来导入产品的价格,从代码的外观来看,一切似乎都是正确的,但是当我做domevar_dumps时,有些价格真的很糟糕。有一个ceil函数可以将上限54.6200保持在54。我知道我必须在使用它们之前对所有SimpleXML值进行类型转换,但这种行为对我来说似乎很奇怪。似乎当我ceil存储在SimpleXMLElement的字符串节点中的浮点vlaue时,该值在ceil函数之前被类型转换为int。好吧,这是我可以接受的,脚本是由一个人编写的,他

php - 单元测试 Yii 行为

我正在寻找一种基于CActiveRecordBehavior对Yii行为进行单元测试的方法。由于相关行为可用于许多模型,我想独立于任何模型对其进行测试,但我不知道如何去做。Yii源代码使用专为测试制作的数据库表对CTimestampBehavior进行了单元测试。我有很多行为要测试,不想为每个行为都创建一个表-任何人都可以建议一个更好的策略来测试行为而不依赖于特定模型或表吗?也许有什么方法可以“伪造”一个CActiveRecord模型?[edit]澄清一下——我不希望我的测试依赖于存在的特定模型或数据库表——我只想测试行为。为了让事情变得更有趣,该行为附加到onAfterConstru

用于过滤不当内容的 PHP 脚本或 API

我经营着一个网站,供有抱负的作家发布他们的作品。自然地,其中一些写作可能具有“敏感”性质。有时它包含很多脏话,有时它是恶意的,有时它是自杀的。这不是常态,但确实存在。当然,我们希望我们的用户可以随意发布他们喜欢的内容,但问题在于广告商。也就是GoogleAdsense,它会定期向我们发送警告,警告内容包含过多脏话或诽谤内容。最新的是一篇有人写的关于割伤自己的文章,谷歌认为这太“悲惨”了。我通常能够编写脚本,也可以通过文本查看大量脏话、种族主义用语或反同性恋言论等。但我不能在我的生活中弄清楚如何检测“悲剧”文本。所以,问题是2倍。是否有某种擅长检测不当内容的PHP类/函数/API?对如何

php - 如何在行为配置 Yii 中使用模型属性值

我想创建用于上传和保存图像的ImageBehavior。我的行为有两个字段:imagePath和imageField。在我的模型中,我写道:publicfunctionbehaviors(){returnarray('imageBehavior'=>array('class'=>'ImageBehavior','imagePath'=>'images/avatar-pics/'.$this->user->username,'imageField'=>'avatar',),);}但这不起作用-我收到路径-images/avatar-pics//image.png什么解决方案?在行为字段中

php - 使用带有常量的接口(interface)作为类的多态行为的开始是好的做法吗?

StackOverflow上的一些人认为这可能是一个好的实现吗?例如,我有一个名为RequestInterface的接口(interface),它有5个常量:interfaceRequestInterface{constGET=1;constPOST=2;constPUT=3;constDELETE=4;constHEAD=5;publicfunctiongetType();//...someothermethodsdeclarations}然后对于每个常量一个实现该接口(interface)的类,例如PostRequest:classPostRequestimplementsRequ