Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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 imap流存储为会话变量?_Php_Email_Imap - Fatal编程技术网

是否可以将PHP 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

我有以下打开imap流的代码:

<?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']);
    }
?>