首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >序列化文件资源

序列化文件资源
EN

Stack Overflow用户
提问于 2013-03-25 16:33:22
回答 1查看 3.9K关注 0票数 4

如何序列化资源?

一个例子:

代码语言:javascript
复制
<?php
if ($_fileHandle = fopen('file.txt', 'a')) {
    echo "fopen success <br />";
} else {
    echo "fopen failed <br />";
}

var_dump($_fileHandle);//displays "resource(3, stream)"

$serializedResource = serialize($_fileHandle); 
$unserializedResource = unserialize($serializedResource);

var_dump($unserializedResource);//displays "int 0"

?>

如您所见,如文档所述,如果序列化/非序列化,则fopen返回的资源将丢失:

序列化()处理所有类型,但资源类型除外。

我希望能够序列化一个资源,以便在会话中存储它,使其在每个页面中都可用。也许还有别的办法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-25 16:36:14

资源不是用于序列化的,并且不能通过会话变量在页面加载中持久化。它们基本上只是对某些系统资源的处理。PHP将在脚本执行结束时自动取消这些资源句柄的分配。

尽管如此,您当然可以在会话中放置您正在使用的文件路径,并在随后的页面加载上获得一个新的句柄。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15620012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档