草庐IT

USE_COMPUTED_SIZE

全部标签

php - imagettftext() : calculate font size to ensure text fits image width

我正在使用imagettftext()在图像上写入动态文本,我希望它适合我的图像宽度。如何根据文本长度计算字体大小? 最佳答案 您可以在使用imagettfbbox函数输出之前计算TTF文本的边界框。遗憾的是,没有直接缩放以适合宽度的方法,因此您必须自己做。一种方法是将默认字体大小(例如20)的文本传递给imagettfbbox并从中检索宽度。然后,您可以通过计算比例因子来计算文本应该缩小或放大多少以适合您想要的大小:scale=targetWidth/bboxWidth;然后绘制合适大小的文字:fontSize=20*scale;

php 容器类 : why does everyone use the more complicated method?

当我找到php脚本或查看php框架时,我看到一个“注册表类”或“容器类”,它们通常使用__get魔法方法保存变量或其他对象。这是我的意思的一个过于简单的例子:示例1:classcontainer{private$objects;publicfunction__get($class){if(isset($this->objects[$class])){return$this->objects[$class];}return$this->objects[$class]=new$class();}}上面的例子在创建类时会有更多的功能,而不是仅仅调用它,但对于我的例子来说它应该足够了。“示例1

php - fatal error : Cannot use assign-op operators with overloaded objects nor string offsets

这个问题在这里已经有了答案:php-addstringatoffset?(2个答案)关闭3年前。出现以下错误Fatalerror:Cannotuseassign-opoperatorswithoverloadedobjectsnorstringoffsetsinapp/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Price.phponline126尝试在产品网格中过滤产品时在我的服务器上。我根本没有更改任何核心文件,但它显示了核心文件第126行。我用谷歌搜索了这个问题,没有正确的结果。有人遇到这个问题并解决了吗?我不

php - fatal error : Allowed memory size of 134217728 bytes exhausted (tried to allocate 3 bytes) after ini_set

一开始,我已经看了this,this和this.我收到以下错误:Fatalerror:Allowedmemorysizeof134217728bytesexhausted(triedtoallocate220bytes)我正在使用php5.4和sqlAnywhere11.这个问题的解决方案是根据this正在放ini_set('memory_set',-1);在我的php-file,但在这样做之后我得到另一个错误:Fatalerror:Allowedmemorysizeof134217728bytesexhausted(triedtoallocate3bytes)编辑:我的代码是我希望有

php - fatal error : Cannot use object of type stdClass as array

我知道这可能很简单,我开始明白我需要怎么做,我意识到这与OO有关,但是因为我是OO和json的新手,所以我遇到了一些问题有了这个http://api.discogs.com/database/search?q=d&page=1&per_page=5它以json格式返回5个带有查询d的结果,所以我用php函数解析它,然后尝试显示第一个结果的缩略图这是我的解析代码:$returnData=file_get_contents($queryURL);$discogsJSON=json_decode($returnData);其中$queryURL=提供的url。如果我打印$discogsJSO

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

php - 数组 - foreach 带来 -> fatal error : Cannot use object of type

所以,我对这个阵列很生气,第2天让我感到疼痛*....我正在开发面向对象的PHP脚本。我得到一个数组:Array([0]=>ProjectObject([project_id]=>1[title]=>SomeName[date]=>2011-10-20[place]=>SomeCity[customer]=>1[proj_budget]=>[manager]=>1[team]=>1[currency]=>1))当我尝试这样做时:findAll();print_r($projects);foreach($projectsas$temptwo){echo$temptwo['title'].

php - 如何为 Apache/PHP 中的特定脚本设置更高的 memory_limit、post_max_size?

我有一个Web应用程序,它将对虚拟主机的所有请求重定向到Controller,然后Controller根据URL决定要包含和运行哪些文件。有一个Web服务可以通过POST接受大型XML文件。我需要应用程序的memory_limit和post_max_为~32M,接受XML的服务除外,这需要它们的限制接近1024M。ini_set('memory_limit','1024M')在脚本中有效,但不适用于post_max_size。我似乎不知道该怎么做。我正在尝试类似的东西:ServerNametest.comDocumentRoot/var/www/test.com/htmlphp_adm

php - 当不需要 IV 时,PHP 的 mcrypt_get_iv_size 是否实际上返回零?

在PHPdocumentationformcrypt_get_iv_size声明当算法/block模式组合不使用IV时,返回值将为零:ReturnsthesizeoftheInitializationVector(IV)inbytes.OnerrorthefunctionreturnsFALSE.IftheIVisignoredinthespecifiedcipher/modecombinationzeroisreturned.当我使用MCRYPT_DES作为算法并使用MCRYPT_MODE_ECB作为模式调用此函数时,它返回8(八)而不是预期的0(零)。据我了解,ECB不会也不能使用

命名空间的 PHP use 语句

也许这是个奇怪的问题,但我无法弄清楚当您编写时php内部会发生什么:usegarcha\path\class;我不是在问命名空间的用途,而是在问该语句本身,即使它不分配任何内存,我的意思是,当您甚至为某个类提供别名时:usegarcha\path\classaswithNewName;它存储在哪里?或者它是如何记住名字的?它只发生在编译时吗?而不是运行时间?就像只是描述功能。 最佳答案 这不是一个非常复杂的算法(对于5.5,在5.6中描述的类名部分是相同的)。如果有必要,创建哈希表的实例。它保留导入(使用的命名空间类)。在使用as关