我有一个会话变量,它试图重新编写下面的所有图像文件名:
$_SESSION ['fileImage'][] ['name'] = $_FILES ['fileImage'] ['name'];.
但是如果我尝试将此会话代码放在下面的jsno.encode()函数中,那么浏览器会变成空白,为什么会这样,以及如何修复它以便浏览器不会变为空白?
var imagename = <?php echo json_encode(isset($_SESSION ['fileImage'][]) ? $_SESSION ['fileImage'] : null); ?>;
答案 0 :(得分:0)
尝试;
设置器:
$_SESSION['fileImage'] = $_FILES['fileImage']['name'];
getter(Js):
var imagename = <?php echo json_encode(isset($_SESSION['fileImage']) ? $_SESSION['fileImage'] : NULL); ?>;
答案 1 :(得分:0)
这段代码对我来说似乎有问题:
(isset($_SESSION ['fileImage'][])
使用双方括号在数组中创建一个新条目。你应该给它一个这样的名字:
$_SESSION ['fileImage']['data']['name'] = ...
并检查是否使用名称设置:
(isset($_SESSION ['fileImage']['data'])
虽然我认为创建这个子数组是没有意义的,但你可以像谢尔顿提出的那样省略它。