【发布时间】:2013-03-25 16:33:22
【问题描述】:
如何序列化资源?
插图:
<?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"
?>
如您所见,如果按照documentation 所述进行序列化/反序列化,fopen 返回的资源将丢失:
serialize() 处理所有类型,除了资源类型
我希望能够序列化资源以将其存储在会话中,以使其在每个页面中都可用。有没有别的办法?
【问题讨论】:
-
我可以简单地说:你不能!资源大多在 PHP 之外被引用...例如:打开文件、流、数据库...
-
为什么不直接序列化文件的内容?
标签: php serialization