是否可以将PHP imap流存储为会话变量?
我有以下打开imap流的代码:是否可以将PHP imap流存储为会话变量?,php,email,imap,Php,Email,Imap,我有以下打开imap流的代码: <?php session_name('mysession'); session_start(); $mailbox = "{my_mailbox_name}"; $username = (isset($_POST['username'])) ? $_POST['username'] : null; $password = (isset($_POST['password'])) ? $_POST['password
<?php
session_name('mysession');
session_start();
$mailbox = "{my_mailbox_name}";
$username = (isset($_POST['username'])) ? $_POST['username'] : null;
$password = (isset($_POST['password'])) ? $_POST['password'] : null;
$_SESSION['loggedin'] = false;
if(isset($username) && isset($password)){
if($_SESSION['imapStream'] = imap_open($mailbox,$username,$password)){
$_SESSION['loggedin'] = true;
} else {
$_SESSION['imapStream'] = null;
}
}
$errorArray = imap_errors();
header("Location: ./");
exit;
?>
我尝试过序列化和取消序列化变量,但也不起作用。有什么建议吗
编辑:添加了我如何在其他代码中使用此选项的示例:
<?php
session_name('mysession');
session_start();
if(isset($_SESSION['loggedin']) && isset($_SESSION['imapStream'])){
$number_of_messages = imap_num_msg($_SESSION['imapStream']);
$msgArray = imap_fetch_overview($_SESSION['imapStream'], "1:{$number_of_messages}");
imap_close($_SESSION['imapStream']);
}
?>
不,不能序列化资源不,不能将资源存储在臭气熏天的sessionWell中。你知道我如何传递这些信息吗?资源不能序列化。。。。如果需要序列化或在会话中存储具有资源属性的类实例,则需要使用_sleep和_wakeup魔术方法断开并重新连接该资源-请参阅为什么要这样做?请保留凭据,并在需要时再次调用imap_open。
<?php
session_name('mysession');
session_start();
if(isset($_SESSION['loggedin']) && isset($_SESSION['imapStream'])){
$number_of_messages = imap_num_msg($_SESSION['imapStream']);
$msgArray = imap_fetch_overview($_SESSION['imapStream'], "1:{$number_of_messages}");
imap_close($_SESSION['imapStream']);
}
?>