当前位置:编程学习 > php >>

[求助]将resource类型的数据作为全局变量来保存? - PHP进阶讨论

用fopen打开一个文件,返回了一个句柄,现在想将这个句柄作为全局参数来使用,当然我们首先想到的是SESSION,结果SESSION居然返回一个int类型的0.该怎么办,才能将这个句柄作为全局参数使用呢?ps:当文件频繁读写的时候,为了提高效率,如果用C语言编程,经常将文件句柄在初始化的时候打开,程序结束的时候再将句柄施放.PHP中该怎么做呢?
答案:
PHP的全局变量是页面级别的,句柄只是一个类似于指针的东西,只有在当前作用域才能使用,换了页面或者请求,PHP就会释放资源并重新请求资源,内存也就变化了,你保存个过时的句柄也就没什么用处了。
到技术吧网站查看回答详情>>
原帖由 于 2006-3-13 16:06 发表SESSION跟全局变量是两码事。一般可以这样:function set_xxoo() {$GLOBALS[\"xxoo_name\"]=\"xxoo_value\";}function get_xxoo() {echo $GLOBALS[\"xxoo_name\"]:} 你说的这种方式需要两个函数在同一个文件,或者用require来连接,一旦有超链接就不行了!SESSION就可以!//1.php//2.php试试看吧!输入1.php是没有结果的!
到技术吧网站查看回答详情>>
晕死,当然是这样了,SESSION与全局本来就有这个差别的呀。在两次链接页面之间,是没有全局变量的概念可用的。在第一个页面处理显示结束后,会自动释放所有打开的资源。SESSION本身是被存到临时文件或数据库里的。
到技术吧网站查看回答详情>>
SESSION跟全局变量是两码事。一般可以这样:function set_xxoo() {$GLOBALS[\"xxoo_name\"]=\"xxoo_value\";}function get_xxoo() {echo $GLOBALS[\"xxoo_name\"]:}
到技术吧网站查看回答详情>>

上一个:PHP中使用函数,为什么不能赋值呢? - 技术问答
下一个:php与表单的互动怎么弄

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,