使用此会话变量时,浏览器变为空白


Browser goes blank when using this session variable

我有一个会话变量,它试图重新调用下面的所有图像文件名:

$_SESSION ['fileImage'][] ['name'] = $_FILES ['fileImage'] ['name'];.

但是,如果我尝试将此会话代码放在下面的jsno.encode()函数中,那么浏览器将变为空白,为什么会这样以及如何修复它以使浏览器不会变为空白?

var imagename = <?php echo json_encode(isset($_SESSION ['fileImage'][]) ? $_SESSION ['fileImage'] : null); ?>;

尝试;

二传手:

$_SESSION['fileImage'] = $_FILES['fileImage']['name'];

getter ( Js ):

var imagename = <?php echo json_encode(isset($_SESSION['fileImage']) ? $_SESSION['fileImage'] : NULL); ?>;

这段代码对我来说似乎有问题:

(isset($_SESSION ['fileImage'][]) 

使用双方括号会在数组中创建一个新条目。你可能应该给它起一个这样的名字:

$_SESSION ['fileImage']['data']['name'] = ...

并检查是否使用以下名称进行设置:

(isset($_SESSION ['fileImage']['data']) 

虽然我认为创建这个子数组没有意义,但你可以按照谢尔顿的建议省略它。