什么是句柄?
php资源句柄就像是我们说的锅把;
比如:打开一个资源,这个资源特别大,可能是个好几G的文件,PHP不能操作的,因为PHP可用内存也就几十M。这样就需要一个句柄,这个句柄就是所谓的“锅把”,直接指向那个资源,传递的时候只需要传递这个不到1K的句柄,我们要操作大数据的时候必须要通过句柄。
句柄和指针的区别?
当把硬盘上的资源调入内存以后,将有一个句柄指向它,但是句柄只能指向一个资源。
- 1.句柄知道所指的内存有多大
- 2.指针指向地址,它不知道分配的内存有多大
- 3.句柄是指针的“指针”
示例
- 1.mysql_connect
函数原型
resource mysql_connect ([ stringusername [, string
new_link [, int $client_flags ]]]]] )
-
2.打开文件之后,fopen()函数的返回值是句柄
-
3.curl_init() 返回的 cURL 句柄
// 创建一个cURL句柄
$ch = curl_init('http://www.baidu.com/');
// 执行
curl_exec($ch);
// 检查是否有错误发生
if(!curl_errno($ch))
{
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
}
// Close handle
curl_close($ch);
网友评论