使用curl_multi_exec并发请求外部接口
有时候在一个PHP方法中要多次调用外部的接口,为了优化代码,提高效率,我们不妨使用curl_multi_exec并发处理多个请求,这样可以明显地提高获取响应数据的速度,减少程序执行的时间,下面是一个实际运行的例子。
<?php
/**
* 使用curl并行发送多个请求获取数据
* @param array $urls 多个请求数组
* @return array
*/
function sendMultiRequest(array $urls)
{
$conn = [];
$res = [];
//创建批处理curl句柄
$mh = curl_multi_init();
foreach ($urls as $k => $item) {
$conn[$k] = curl_init(); //初始化各个子连接
//...
问题:使用GD库imagettftext()函数时,报“Warning: imagettftext(): Could not find/open font in ”警告 。
解决方案:找了很久,发现是GD库加载字体文件时,需求提供绝对路径,给font路径用realpath()将相对路径转成绝对路径即可。
imagettftext($im,mt_rand(12,14),mt_rand(-30,30),20*$i+10,18,$fontcolor,realpath($fontface),$codex);
imagettftext() 函数是 PHP 中的一个内置函数,用于使用 TrueType 字体将文本写入图像。
句法:
数组 imagettftext($image,float $size,float $angle,int $x,int $y,int $color,string $fontfile,string $text)
参数:此函数接受上述八个参数,如下所...
ul是一个很常用的标签,但是因为它在Firefox和IE下的不同表现,让人觉得它是个很难以控制的标签。 ul在Firefox下有个padding值, 却没有margin值;而在IE下正好相反,ul有个margin值, 却没有padding值. 在Firefox下,ul的list-style默认是处于内容的外边缘的。当然可以通过css可以将list-style置为内容的内边缘。 通过权衡得到适合两个浏览器的设置:padding:0; margin:0; list-style:inside;。还可以将ul设置为padding:0; margin:0; list-style:none;,然后给li添加背景图片,也是很不错的选择。<style type="text/css">body{font-size:12px; margin:20px; line-height:18px;}ox{width:200px; background-colo...
DIV CSS网页布局中常用的列表元素ul ol li dl dt dd释义,块级元素div尽量少用,和table一样,嵌套越少越好ol 有序列表。<ol><li>……</li><li>……</li><li>……</li></ol>表现为:1……2……3……ul 无序列表,表现为li前面是大圆点而不是123<ul><li>……</li><li>……</li></ul>很多人容易忽略 dl dt dd的用法dl 内容块dt 内容块的标题dd 内容可以这么写:<dl><dt>标题</dt><dd>内容1</dd><dd>内容2</...
类别:网页编程 查看:123
更新:2014-06-05
cumulativeOffset [不推荐]
cumulativeOffset(element) -> [Number, Number]
返回 element 相对于页面左上角的坐标。
已被 Element#cumulativeOffset 方法取代。
累加元素及它的所有先代节点的 offsetLeft 和 offsetTop。
注意:所有返回值都仅有数字,单位为像素。
hasAttribute [simulated]
hasAttribute(element, attribute) -> Boolean
为不存在该方法的浏览器(Internet Explorer 6 或 7)模拟规范中指定的 DOM 方法 hasAttribute。
样例
<a id="link" href="http://prototypejs.org">Prototype</a>
$('link').hasAttribute('href');
// -> true
...
cumulativeOffset [1.6]
cumulativeOffset(element) -> [Number, Number] 或 { left: Number, top: Number }
返回 element 相对于页面左上角的坐标。
译注:假定返回值为 offset,则 X 轴坐标可通过 offset[0] 获取,也可以通过 offset.left 获取,Y 轴坐标可通过 offset[1] 获取,也可通过 offset.top 获取。
累加元素及它的所有先代节点的 offsetLeft 和 offsetTop。
注意:所有返回值都仅有数字,单位为像素。
...
cumulativeScrollOffset(element) -> [Number, Number] 或 { left: Number, top: Number }
在内含滚动条的容器中计算元素的累积滚动偏移值。
译注:假定返回值为 offset,则 X 轴坐标可通过 offset[0] 获取,也可以通过 offset.left 获取,Y 轴坐标可通过 offset[1] 获取,也可通过 offset.top 获取。
累加元素及它的所有先代节点的 scrollLeft 和 scrollTop。
该方法常用于在多个滚动容器(例如在一个可滚动的容器中包含一个可滚动的文档)中计算元素的滚动偏移值。
注意:所有返回值都仅有数字,单位为像素。
...
cumulativeOffset(element) -> [Number, Number] 或 { left: Number, top: Number }
返回 element 相对于页面左上角的坐标。
译注:假定返回值为 offset,则 X 轴坐标可通过 offset[0] 获取,也可以通过 offset.left 获取,Y 轴坐标可通过 offset[1] 获取,也可通过 offset.top 获取。
累加元素及它的所有先代节点的 offsetLeft 和 offsetTop。
注意:所有返回值都仅有数字,单位为像素。
getFullYear 方法
返回 Date 对象中用本地时间表示的年份值。
dateObj.getFullYear()
必选项 dateObj 参数为 Date 对象。
说明
要获取用全球标准时间 (UTC)表示的年份值,请使用 getUTCFullYear 方法。
getFullYear 方法以绝对数字的形式返回年份值。例如,1976 年的返回值就是 1976。这样可以避免出现 2000 年问题,从而不会将 2000 年1月1日以后的日期与 1900 年1月1日以后的日期混淆起来。
下面这个例子说明了 GetFullYear 方法的用法。
function DateDemo(){
var d, s = "今天 UTC 日期是: ";
d = new Date();
s += (d.getMonth()...
开发一个优秀的数据绑定不是一件很容易的事情。刚开始的时候走了一些弯路,一直紧紧咬着 DataBoundControl类不放。最终失望之后冷静下来想到关于DataSource不就是一个数据集合吗?明白之后,有关数据源的问题基本上也解决了。在整个Multi-ListBox控件开发中,我认为最重要的实际上就是页面的生命周期的理解,如果您基本上理解了它的话,那么,基本上,你以后开发一款ASP.NET控件也不是一件很难的事情。我们还是简单了解开发的思路吧。下面是类的设计图(跟本文无关的方法和属性已被我隐藏)
在控件的生命周期中,我们主要需要解决用户回发页面的时候保留ListBox的数据源(因为我没有采用复合控件的方式来开发)。因些,我们需...
Java数据库连接(JDBC)结果集类掩盖了一个微小的bug,如果你忘记了使用wasNull方法的话。关系数据库中的NULL值的概念和Java中null的值的概念相似,前者任何类型都可以为null,但是在Java中,基本数据类型不能为null。当要读取一个数据库域赋值给一个基本类型的时候(例如resultSet.getInt(1)),可能会造成问题。这样的例子已经让JDBC规范的制订者开始研究如何解决。当一个值通过如getInt、getLong、getFloat这样的getXxx方法从数据库中得到后,开发者可以调用wasNull()方法来找出其值是否为null。如果wasNull返回true,那么可以让开发者为基本类型选择使用合适的null值。GetXxx方法获得的值与JDBC的驱动紧密相关。例...
如果一个值类型没有重载==运算符,是不能直接运用 ==来执行 值类型的实例和null的判等比较的,这个是显而易见的,默认情况下值类型都没有重载==运算符:A a;if(a==null) //struct A{ public int x;} 但是,能不能重载了==就可以把值类型的实例和null做判等比较了呢?现在,我们来看一个更加能说明疑问的Demo:using System;namespace StructOperatorDemo{ class Program { public struct MyStruct1 { public Guid UniqueId; public MyStruct1(Guid fUniqueId) { ...
类别:程序开发 查看:79
更新:2014-05-10