为什么此代码总是给我一个错误“非法字符串偏移'list_img'”?我在哪里弄错了?
$dir = scandir($route);
for ($img = 0; $img < count($dir); $img++) {
if ($dir[$img] == "." || $dir[$img] == "..") {
continue;
}
$type = pathinfo($route . '/' . $dir[$img], PATHINFO_EXTENSION);
$data = file_get_contents($route . '/' . $dir[$img]);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
array_push($list_dir, ['title' => $dir[$img], 'code' => $base64]);
}
$data['list_img'] = $list_dir;
答案 0 :(得分:0)
您的变量$ data是字符串(使用file_get_contents设置),因此,当您尝试设置$ data ['list_img']时,会收到错误消息。 您可以使用其他名称代替$ data或将其初始化为最后一行之前的数组:
$data = [];
$data['list_img'] = $list_dir
或者只是
$data = ['list_img' => $list_dir];