我在练习如何在PHP中将值存储到会话中。在会话中存储后,Php资源ID已更改
的问题是:
当我在testsession.php称之为echo $_SESSION['handle']
,它显示为0。
当我使用var_dump($_SESSION['handle'])
,它表明,INT(0)。
storeValueParctice.php
$handle = fopen ("test.txt", "r");
$_SESSION['handle']=$handle;
echo $_SESSION['handle'] // it will show resource id#(somenumber)
testsession.php
echo $_SESSION['handle']; //it shows 0.
var_dump($_SESSION['handle']);//it shows that int(0).
fseek ($_SESSION['handle'], 0); // this will give me an error which is
//Warning: fseek() expects parameter 1 to be resource, integer given .
我不知道为什么会发生这种情况。
如何获取testsession.php
中的资源ID号?
我想通过$_SESSION['handle']
从storeValueParctice.php
到testsession.php
并在testsession.php
做一些文件操作。
我不确定这会适用于您。文件句柄的范围是当前进程,并在脚本结束时结束。我不相信它可能通过一个打开的文件句柄到这个方法中的另一个进程。 –
您不能在会话中保存文件资源引用,然后在另一个实例中重新使用它。如果您想在会话中对文件进行操作,请保存文件的名称(如'$ _SESSION ['file_name']'而不是$ _SESSION ['handle']'),并在需要时重新打开该文件它再次。 –