Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 序列化文件资源_Php_Serialization - Fatal编程技术网

Php 序列化文件资源

Php 序列化文件资源,php,serialization,Php,Serialization,如何序列化资源 举例说明: <?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($_fi

如何序列化资源

举例说明:

<?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返回的资源将丢失:

serialize()处理除资源类型之外的所有类型


我希望能够序列化资源以将其存储在会话中,从而使其在每个页面中都可用。可能还有其他方法吗?

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


也就是说,您当然可以在会话中放置您正在使用的文件路径,并在后续页面加载时获得新的句柄。

我可以简单地说:您不能!资源主要是指PHP之外的内容。。。例如:打开文件、流、数据库……你到底为什么不序列化文件的内容呢?